Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在MAILTO链接的主体中添加HTML链接_Html_Email_Mailto - Fatal编程技术网

是否可以在MAILTO链接的主体中添加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>

我没有太多的邮件链接。不过,如果可能的话,我现在需要在邮件正文中添加一个链接

有没有办法添加链接或将打开的电子邮件更改为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>

据我所知,这是不可能的,因为链接需要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>