Is it possible to add an HTML link in the body of a MAILTO link
本问题已经有最佳答案,请猛点这里访问。
我不需要太多的邮件链接。但是,如果可能的话,我现在需要在邮件正文中添加一个链接。
有没有方法添加链接或更改打开到HTML电子邮件与文本电子邮件的电子邮件?
类似:
1 | Link text goes here |
RFC2368的第2节说,
但是,即使您使用纯文本,一些现代邮件客户机也可能将URL呈现为可单击的链接。
添加完整链接,使用:
1 | "http://" |
到一行的开头,大多数体面的电子邮件客户会在发送前自动链接它,或者在接收时自动链接到另一端。
对于可能因所有参数而换行的非常长的URL,请将链接换行为小于/大于号。这会告诉电子邮件客户端不要包装URL。
例如
1 | <http://www.example.com/foo.php?this=a&really=long&url=with&lots=and&lots=and&lots=of&prameters=on_it> |
请在IE中查看下面的javascript。不知道其他现代浏览器是否可以工作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <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 ="[email protected]"; mailItem.HTMLBody ="bold"; mailItem.display (0); } catch(e){ alert(e); // act on any error that you get } } </head> <body> Click </body> </html> |
据我所知,这是不可能的,因为链接需要HTML,而mailto链接不创建HTML电子邮件。
这可能是为了安全,因为您可以向此链接添加javascript或iframe,电子邮件客户端可能会为最终用户打开漏洞。
"mailto"主体的规范说明:
The body of a message is simply lines of US-ASCII characters. The
only two limitations on the body are as follows:
- CR and LF MUST only occur together as CRLF; they MUST NOT appear independently in the body.
- Lines of characters in the body MUST be limited to 998 characters, and SHOULD be limited to 78 characters, excluding the CRLF.
https://tools.ietf.org/html/rfc5322第2.3节
一般来说,现在大多数电子邮件客户端都擅长自动链接,但由于安全问题,并非所有客户端都擅长自动链接。你可能会找到一些解决办法,但它不一定能普遍地起作用。
这是我整理的。它可以在我需要的移动设备上运行,但我不确定解决方案的通用性
1 |
我已经在iOS设备上实现了跟踪,但在Android设备上失败了。
4