如何阻止 MailApp.sendEmail() 每约 80 个字符向电子邮件正文添加换行符?

2024-05-06

我正在使用附加到我的 Google 云端硬盘中的 google 工作表的 google 脚本来发送电子邮件。我注意到 MailApp.sendEmail() 发送的电子邮件的正文与原来的不太一样:它每约 75 个字符添加一个换行符(不中断单词)。

如何阻止 MailApp.sendEmail() 函数执行此操作?

下面举一个例子来说明:

运行这个函数:

function sendTestEmail(){
  var text = "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 nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
  MailApp.sendEmail("[email protected] /cdn-cgi/l/email-protection", "test", text);
}

Will give an email that looks like this

如果它有用,我测试了一下:76 个字符的句子保留在一行上(不再),但添加一个额外的单词使这个新句子的最后两个单词进入新行。

预先非常感谢!

EDIT 1:这些换行符不会出现在 Mac 邮件或 Thunderbird 中,但会出现在 iPhone Gmail 应用程序中。

我还尝试使用 html 而不是纯文本,它确实删除了不需要的换行符:太棒了!但它也会删除所有换行符,除非我把<br>手动。


我可能需要微调细节,但正如建议的那样,以下内容对我有用。这text.replace需要使我可能故意放入的换行符出现在 html 电子邮件中。

function sendTestEmail(){
  var text = '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 nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.';
  var htmlText = text.replace(/\n/g,'\n<br>');
  MailApp.sendEmail({
    to: "[email protected] /cdn-cgi/l/email-protection",
    subject: "test", 
    htmlBody: htmlText,
  });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止 MailApp.sendEmail() 每约 80 个字符向电子邮件正文添加换行符? 的相关文章

随机推荐