电子邮件格式基础知识(普通文本电子邮件中的链接)

29

从服务器发送电子邮件并不像从客户端发送电子邮件那样容易。

我知道我可以选择发送纯文本或HTML格式的邮件,但我希望保持尽可能简单。

邮件中有一个链接,用户应该点击该链接重置其密码。

当我发送整个链接并检查我的Gmail时,它会自动成为超链接。

我猜这在所有电子邮件客户端中都不是这种情况。

在纯文本格式下发送链接的选项有哪些?

为了确保链接可点击,是否唯一的方法是使用HTML呢?

如果使用HTML,最小标记是什么?

4个回答

22
若您以纯文本形式发送电子邮件,则您的URL将为纯文本。它是纯文本,您无法进行装饰。
如果您以HTML格式发送电子邮件,只需使用简单的锚标签,并将URL用作href和text。这样,即使邮件客户端删除了链接,用户仍然可以复制/粘贴URL。

14

除了直接在文本中包含URL以外,另一种选择是使用类Markdown语法来分离它们。例如,可以使用引文样式链接引用(就像SO在这个编辑器中所做的那样)来完成如下操作:

Hello, this is a plain email that links to a [cool page][1].

Sincerely,
Joe

[1]: http://foo.com/cool_page
我曾看到过这样做,并且效果很好,特别是当你有很多链接时。

这个可以吗? - gumuruh

11

RFC2822中,定义了类似于angle-addr的语法,而在RFC2368中定义了mailto URL模式。

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

你试过这个吗?我尝试过的所有邮件客户端都无法使用。这个适用于哪些客户端?RFC2396描述了你所说的内容,但似乎与问题完全无关,因为它不涉及显示链接? - Taylor C. White
1
这不是针对客户端的,而是如果您以纯文本格式组成eml文件并直接发送到smtp网关。在接收端,如果客户端正确实现了规范,则解释RFC2369序列。该规范用于指示一系列字符是URI,例如链接。 - Raymond Skinner

1

要发送HTML电子邮件,您必须提供完整的结构化HTML页面,其中不包含任何相对链接(仅包含所有资源的完整URL,例如图像src、样式和href链接属性)。

但是,对于其目的而言,纯文本电子邮件已经足够好了,在Web邮件客户端中,浏览器可以在邮件文本中找到链接,而独立的邮件客户端则会自行完成此工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接