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

时间:2018-11-27 18:24:27

标签: email google-apps-script

我正在使用附加到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("test@gmail.com", "test", text);
}

将提供如下电子邮件

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

非常感谢!

编辑1 :这些换行符不会出现在mac邮件或雷鸟中,但会出现在iphone gmail应用程序中。

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

1 个答案:

答案 0 :(得分:2)

我可能需要微调细节,但是根据建议,以下内容对我有用。需要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: "test@gmail.com",
    subject: "test", 
    htmlBody: htmlText,
  });