是否可以在MAILTO链接的正文中添加HTML链接

时间:2008-10-29 15:27:58

标签: html email email-integration mailto

我没有太多关注mailto链接。但是,如果可能的话,我现在需要在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>

7 个答案:

答案 0 :(得分:108)

RFC 2368的第2部分说body字段应该是text/plain格式,因此您无法执行HTML。

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

答案 1 :(得分:31)

添加完整链接,其中包含:

 "http://"

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

对于可能因所有参数而换行的真正长URL,请将链接包含在小于/大于符号中。这告诉电子邮件客户端打包网址。

e.g。

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

答案 2 :(得分:6)

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

这可能是为了安全,因为您可以向此链接添加javascript或iframe,电子邮件客户端可能会为最终用户打开漏洞。

答案 3 :(得分:6)

请在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>

答案 4 :(得分:1)

这是我放在一起的东西。它适用于我需要它的精选移动设备,但我不确定解决方案的普及性

<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">

答案 5 :(得分:1)

&#39; mailto&#39;的规范身体说:

  

消息正文只是US-ASCII字符的行。该      身体上只有两个限制如下:

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

https://tools.ietf.org/html/rfc5322#section-2.3

现在一般来说,由于安全问题,大多数电子邮件客户端都擅长自动链接,但并非所有客户端都这样做。你可能会找到一些解决方法,但它不一定能普遍起作用。

答案 6 :(得分:0)

我已经实现了它适用于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>