从HTML mailto
链接生成包含正文文本的电子邮件草稿时,Outlook的默认格式设置会在超过120个以换行符结尾的字符后自动添加换行符(%0D%0A )。任何人都知道如何防止这种情况发生?我的假设是,这就是Outlook的行为方式,我无法改变它,至少不是来自mailto链接。
如果您需要任何其他信息或我不清楚,请告诉我。谢谢你的时间。
编辑:示例jsfiddle:https://jsfiddle.net/q7rc1y65/2/
答案 0 :(得分:0)
使用mailto:命令生成换行符的唯一有效方法是使用%0D%0A。不幸的是,Outlook会自动格式化消息,并使用换行符作为段落处理长度超过120个字符的文本。你可以按ctrl + shift + 8来看到这个。
您可以在自己的outlook See Here安装中更改此行为,但不能使用mailto:命令来控制此行为。另一种解决方案是使用电子邮件表单而不是mailto链接,然后发送电子邮件服务器端。在这里,您可以更好地控制身体的外观和结构,并且还可以创建HTML电子邮件。
以下是更新的小提示,展示了您的问题:JSFIDDLE。
<a href="">MAIL!</a>
<br /><br />
MAILTO HREF:
<div id='linkText'></div>
$().ready(function () {
var returnChar = encodeURIComponent('%0D%0A');
var subject = encodeURIComponent('this is the subject');
var body = encodeURIComponent('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nos ');
var bodySub120 = encodeURIComponent('Lorem ipsum dolor sit amet, consectetur adipiscing elit ');
var href = 'mailto:someone@somewhere.com?subject=' + subject + '&body=';
var href= href + bodySub120 + returnChar + bodySub120 + returnChar + body + returnChar + body + returnChar;
$('a').attr("href", href);
$('div#linkText').text(href);
});