Answers:
您可以使用URL编码将换行符编码为%0A
。
mailto:email@address.com?subject=test&body=type%20your%0Amessage%20here
尽管上面的方法在许多情况下似乎可行,但用户olibre 指出,管理mailto URI方案的RFC指定%0D%0A
应使用(回车+换行符)代替%0A
(换行符)。另请参阅:换行表示法。
$0A
很简单escape( "\n" )
encodeURIComponent
来编码URI组件。
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.";
encodeURIComponent
,而是。看这里。