电子邮件格式基础(纯文本电子邮件中的链接)
Posted
技术标签:
【中文标题】电子邮件格式基础(纯文本电子邮件中的链接)【英文标题】:Email formatting basics (links in plain text emails) 【发布时间】:2011-07-15 23:41:14 【问题描述】:从服务器发送电子邮件并不像从客户端发送电子邮件那么容易。
我知道我可以选择发送纯文本或 html,但我想让事情尽可能简单。
我在电子邮件中有一个链接,用户应单击该链接以重置其密码。
当我发送整个链接并检查我的 gmail 时,它会自动变成一个超链接。
我的猜测是,并非所有电子邮件客户端都如此。
我有哪些选项可以发送纯文本格式的链接?
是确保有一个可点击的链接来使用 html 的唯一方法吗?
如果我使用 html,我必须拥有的最低标记是多少?
【问题讨论】:
【参考方案1】:如果您以纯文本形式发送电子邮件,那么您的 URL 将是纯文本。纯文本,不能装。
如果您将其作为 HTML 发送,只需使用简单的锚标记并将 URL 用作 href 和文本。这样,如果邮件客户端删除了链接,至少用户仍然可以复制/粘贴 url。
【讨论】:
【参考方案2】:另一个选项,而不是简单地在文本中包含 url,是使用 markdown-ish 语法,允许您将两者分开。例如,使用引用样式的链接引用(在此编辑器中使用 SO 的方式)可以这样做:
Hello, this is a plain email that links to a [cool page][1]. Sincerely, Joe [1]: http://foo.com/cool_page
我已经看到它是这样做的,而且效果很好,尤其是在您有很多链接的情况下。
【讨论】:
【参考方案3】:RFC2822 中定义的语法类似于 angle-addr
和 RFC2368 中定义的mailto
URL Schema。
RFC2396 提到在文本文档和协议字段中使用尖括号作为 URI 周围的分隔符:
尖括号“”以及双引号(“)字符是 排除,因为它们经常被用作 URI 周围的分隔符 文本文档和协议字段。字符“#”被排除在外 因为它用于从 URI 中的片段标识符分隔 URI 参考文献(第 4 节)。百分比字符“%”被排除在外,因为 用于转义字符的编码。
delims = "" | "#" | "%" |
来自实际使用的示例:
From: alpha@beta.com
To: theta@omega.com
Content-Type: text/plain
Some introduction text
The text I want to display in this link<https://some.target.dom/ain#place?i=want&to=go>
The rest of my plain text message
【讨论】:
【参考方案4】:要发送 html 电子邮件,您必须为任何资源(图像 src、样式和 href 链接属性)提供没有相对链接(只有完整 url)的完整结构化 html 页面。
但文本电子邮件对于它们的用途来说已经足够好了,在网络邮件客户端中,链接可以通过浏览器在邮件文本中找到,而独立的邮件客户端会自行完成这项工作。
【讨论】:
以上是关于电子邮件格式基础(纯文本电子邮件中的链接)的主要内容,如果未能解决你的问题,请参考以下文章
SMTP 中带有纯文本、HTML 和附件的电子邮件的正确电子邮件格式?