无法让多行在 mailto 链接中正常工作
就我而言,我正在使用 Outlook 默认邮件阅读器对其进行测试。
以下内容放在锚href中:
mailto:email@address.com?&subject=test&body=type%20your&body=message%20here
电子邮件正文中仅显示“此处的消息”。(无论我使用的是 chrome 还是 IE)
想法?
body
在mailto
字符串中使用单个参数%0D%0A
用作换行符mailto
URI 方案由RFC2368 (1998年7 月)和RFC6068(2010 年 10 月)指定。以下是最后一个 RFC第 5 节
的摘录:
[...] 消息正文中的换行符必须用
"%0D%0A"
.
即使正文中没有尾随,实现也可以在消息正文中添加最后一个换行符"%0D%0A"
[...]
另请参阅第 6 节中来自同一 RFC 的示例:
<mailto:infobot@example.com?body=send%20current-issue%0D%0Asend%20index>
上述mailto
主体对应于:
send current-issue
send index
要获得身体线条,请使用 escape()
body_line = escape("\n");
所以
href = "mailto:me@my.com?body=hello,"+body_line+"I like this.";
这就是我所做的,只需添加\n
和使用encodeURIComponent
例子
var emailBody = "1st line.\n 2nd line \n 3rd line";
emailBody = encodeURIComponent(emailBody);
href = "mailto:me@somesite.com?body=" + emailBody;