从服务器发送电子邮件并不像从客户端发送电子邮件那样容易。
我知道我可以选择发送纯文本或HTML格式的邮件,但我希望保持尽可能简单。
邮件中有一个链接,用户应该点击该链接重置其密码。
当我发送整个链接并检查我的Gmail时,它会自动成为超链接。
我猜这在所有电子邮件客户端中都不是这种情况。
在纯文本格式下发送链接的选项有哪些?
为了确保链接可点击,是否唯一的方法是使用HTML呢?
如果使用HTML,最小标记是什么?
从服务器发送电子邮件并不像从客户端发送电子邮件那样容易。
我知道我可以选择发送纯文本或HTML格式的邮件,但我希望保持尽可能简单。
邮件中有一个链接,用户应该点击该链接重置其密码。
当我发送整个链接并检查我的Gmail时,它会自动成为超链接。
我猜这在所有电子邮件客户端中都不是这种情况。
在纯文本格式下发送链接的选项有哪些?
为了确保链接可点击,是否唯一的方法是使用HTML呢?
如果使用HTML,最小标记是什么?
除了直接在文本中包含URL以外,另一种选择是使用类Markdown语法来分离它们。例如,可以使用引文样式链接引用(就像SO在这个编辑器中所做的那样)来完成如下操作:
Hello, this is a plain email that links to a [cool page][1].
Sincerely,
Joe
[1]: http://foo.com/cool_page
我曾看到过这样做,并且效果很好,特别是当你有很多链接时。
在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
要发送HTML电子邮件,您必须提供完整的结构化HTML页面,其中不包含任何相对链接(仅包含所有资源的完整URL,例如图像src、样式和href链接属性)。
但是,对于其目的而言,纯文本电子邮件已经足够好了,在Web邮件客户端中,浏览器可以在邮件文本中找到链接,而独立的邮件客户端则会自行完成此工作。