是否可以在MAILTO链接的主体中添加HTML链接
我没有太多的邮件链接。不过,如果可能的话,我现在需要在邮件正文中添加一个链接 有没有办法添加链接或将打开的电子邮件更改为html电子邮件而不是文本电子邮件 比如:是否可以在MAILTO链接的主体中添加HTML链接,html,email,mailto,Html,Email,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>
<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>
据我所知,这是不可能的,因为链接需要HTML,而mailto链接不会创建HTML电子邮件 这可能是出于安全考虑,因为您可以将javascript或iFrame添加到此链接,电子邮件客户端可能会打开最终用户的漏洞。的第2节说,
body
字段应该是text/plain
格式,因此您不能使用HTML
但是,即使使用纯文本,一些现代邮件客户端也可能会将URL呈现为可单击链接。添加完整链接,包括:
"http://"
到一行的开头,大多数体面的电子邮件客户端会在发送前自动链接,或者在接收时在另一端自动链接
对于由于所有参数而可能会换行的非常长的URL,请使用小于/大于符号换行链接。这会告诉电子邮件客户端而不是包装url
e、 g
请在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>
函数OpenOutlookDoc(){
试一试{
var outlookApp=新的ActiveXObject(“Outlook.Application”);
var nameSpace=outlookApp.getNameSpace(“MAPI”);
mailFolder=nameSpace.getDefaultFolder(6);
mailItem=mailFolder.Items.add('IPM.Note.FormA');
mailItem.Subject=“主题测试”;
mailItem.To=”an@email.here";
mailItem.HTMLBody=“bold”;
mailItem.display(0);
}
捕获(e){
警报(e);
//对你遇到的任何错误采取行动
}
}
以下是我总结的内容。它可以在我需要的移动设备上运行,但我不确定这个解决方案是否通用
<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>
“>共享此
邮件正文的规格说明如下:
消息的主体只是US-ASCII字符行
只有两个身体限制如下:
- CR和LF只能作为CRLF一起出现;它们不能单独出现在身体中
- 正文中的字符行必须限制为998个字符,并且应限制为78个字符,CRLF除外
一般来说,现在大多数电子邮件客户端都擅长自动链接,但出于安全考虑,并非所有客户端都擅长自动链接。您可能会找到一些解决方法,但不一定能普遍使用。iOS上的Safari会呈现诸如和之类的标记。不确定。我可以确认Windows上的Thunderbird会将url呈现为链接(到收件人),因此不需要添加任何标记。我只是尝试了您的示例,得到了错误:“ReferenceError:ActiveXObject未定义“我发现ActiveXObject仅在Internet Explorer中受支持,而在Metro风格的应用程序中不受支持。无论如何,谢谢。这个解决方案只适用于反乌托邦的未来世界,在这个世界里,微软运行一切,而互联网剥削者仍然让网络开发者的生活很悲惨。我试过你的例子……不起作用……在MacOS和iOS上与邮件应用程序一起工作,在MacOS上与Chrome上的GMail一起工作,在iOS上与邮件应用程序一起工作。这真的很有趣,10年后,人们将这个问题标记为3年后被问到的另一个问题的副本:)为什么?即使是这个问题的答案也没有什么不同,而且对RFC2368标准也没有更新
<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>