【问题标题】:Copy Google Doc template and use as body for email复制 Google Doc 模板并用作电子邮件正文
【发布时间】:2020-11-04 22:59:45
【问题描述】:

我想自动发送一个很长的电子邮件模板来欢迎新用户。 该脚本复制 Google Doc 的正文并使用 MailApp.sendEmail 将其用作电子邮件的正文。

问题在于到达的电子邮件非常狭窄,并且无法准确复制模板中的内容。有没有办法对其进行格式化以使其与 Google Doc 模板相同?

非常感谢任何帮助

var doc = DocumentApp.openByUrl("https://docs.google.com/document/d/"doc id"/edit");

      var body = doc.getBody().getText();
      var message = body;
      var subject = "subject line";
      MailApp.sendEmail (user.primaryEmail, subject, message)

【问题讨论】:

  • 尝试阅读文档中的模板化 html
  • 您可以创建一个 html 邮件正文或将您的文档转换为 pdf 并将其添加为附件。

标签: google-apps-script


【解决方案1】:

我从中学到了一些新东西:

  1. 当您以纯文本电子邮件形式发送电子邮件时,您无法控制换行符的位置
  2. 当您调用.getText() 方法时,它实际上添加了换行符,当您以纯文本形式发送它时,它还添加了.sendEmail 方法的一部分。

最简单的解决方案是将其作为 HTML 消息发送。我对此进行了实验,并在下面找到了我认为最简单的解决方案:

//this will replace the line breaks with html line breaks
var htmlBody = doc.getBody().getText().replace(/\n/g,'<br/>'); 

var message = 
     { 
        to: user.primaryEmail,
        subject: 'subject line',
        htmlBody: htmlBody
     }

MailApp.sendEmail ({message})

我已经对此进行了测试,这应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多