是否可以在 MAILTO 链接的主体中添加 HTML 链接

我没有搞乱邮件到链接太多。然而,如果可能的话,我现在需要在 mailto 的主体中添加一个链接。

有没有一种方法来添加一个链接或改变电子邮件打开的 HTML 电子邮件与文本电子邮件?

比如:

<a href="mailto:test@test.test?body=The message's first paragraph.%0A%0aSecond paragraph.%0A%0AThird Paragraph.%0A%0ALink goes here">Link text goes here</a>
191557 次浏览

就我所知,这是不可能的,因为链接需要 HTML,而 mailto 链接不能创建 HTML 电子邮件。

这可能是出于安全考虑,因为您可以将 javascript 或 iframe 添加到这个链接中,而且电子邮件客户端可能会为最终用户打开漏洞。

RFC 2368的第2节说 body字段应该是 text/plain格式的,所以不能使用 HTML。

然而,即使您使用纯文本,一些现代的邮件客户端也可能将 URL 呈现为一个可点击的链接。

添加完整链接,使用:

 "http://"

大多数像样的电子邮件客户端会在发送之前或者在接收时自动链接到一行的开头。

对于由于所有参数而可能包装的非常长的 url,请将链接包装为小于/大于符号。这告诉电子邮件客户机 没有包装 URL。

例如:。

  <http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it>

请在 IE 中检查下面的 javascript。不知道其他现代浏览器是否能正常工作。

<html>
<head>
<script type="text/javascript">
function OpenOutlookDoc(){
try {


var outlookApp = new ActiveXObject("Outlook.Application");
var nameSpace = outlookApp.getNameSpace("MAPI");
mailFolder = nameSpace.getDefaultFolder(6);
mailItem = mailFolder.Items.add('IPM.Note.FormA');
mailItem.Subject="a subject test";
mailItem.To = "an@email.here";
mailItem.HTMLBody = "<b>bold</b>";
mailItem.display (0);
}
catch(e){
alert(e);
// act on any error that you get
}
}
</script>
</head>
<body>
<a href="javascript:OpenOutlookDoc()">Click</a>
</body>
</html>

这是我整理出来的。它可以在我需要的特定移动设备上工作,但我不确定这种解决方案有多普遍

<a href="mailto:me@me.com?subject=Me&body=%3Chtml%20xmlns%3D%22http:%2F%2Fwww.w3.org%2F1999%2Fxhtml%22%3E%3C%2Fhead%3E%3Cbody%3EPlease%20%3Ca%20href%3D%22http:%2F%2Fwww.w3.org%22%3Eclick%3C%2Fa%3E%20me%3C%2Fbody%3E%3C%2Fhtml%3E">

我已经在 iOS 设备上实现了它,但是在 android 设备上失败了

<a  href="mailto:?subject=Your mate might be interested...&body=<div style='padding: 0;'><div style='padding: 0;'><p>I found this on the site I think you might find it interesting.  <a href='@(Request.Url.ToString())' >Click here </a></p></div></div>">Share This</a>

“ mailto”机构的说明书写道:

消息的正文只是 US-ASCII 字符行 该机构只有两个限制如下:

  • CR 和 LF 必须作为 CRLF 一起出现; 它们不能独立出现在身体中。
  • 主体中的字符行必须限制为998个字符,并且应该限制为78个字符,不包括 CRLF。

Https://www.rfc-editor.org/rfc/rfc5322#section-2.3

通常现在大多数电子邮件客户端都擅长自动链接,但并非所有客户端都擅长自动链接,这是出于安全考虑。您可能会找到一些变通方法,但它不一定会普遍适用。