【问题标题】:Using spreadsheet values in html body of email with GmailApp.sendEmail通过 GmailApp.sendEmail 在电子邮件的 html 正文中使用电子表格值
【发布时间】:2019-01-10 15:40:41
【问题描述】:

我有一个脚本,它使用带有 html 正文的 GmailApp 发送电子邮件。我希望 html 正文包含包含它的电子表格中的特定值,但每次发送电子邮件时,我添加的 scriptlet 都会显示为纯文本。

email.gs:

function sendEmail() {



  var mailTo = 'example@gmail.com'


  var NAME = SpreadsheetApp.getActiveSheet().getRange('Sheet1!A1').getValue();


  var subject = 'Hello!'
  var html = HtmlService.createHtmlOutputFromFile('body').getContent();



  GmailApp.sendEmail('', subject, '', {


    name: 'Friend',
    htmlBody: html,
    bcc: mailTo


  });


}

body.html:

<h1>Good Evening, <? NAME ?> </h1>
<h3>Hello Friend!</h3>

无论何时运行脚本,都应从工作表中的指定单元格中提取“NAME”。

我猜它显示为文本的原因是 GmailApp.sendEmail 将原始 html 粘贴到电子邮件中并假设客户端会阅读它,所以我怎么能先让它通过脚本处理然后粘贴到电子邮件?

【问题讨论】:

标签: javascript html google-apps-script


【解决方案1】:

或者您可以使用 createTemplateFromFile 并在

中记下“=”
function sendEmail() {
  var mailTo = 'example@gmail.com'
  var subject = 'Hello!'
  var html = HtmlService.createTemplateFromFile('body');
  html.NAME = SpreadsheetApp.getActiveSheet().getRange('Sheet1!A1').getValue();
  html = html.evaluate().getContent();

  GmailApp.sendEmail('', subject, '', {
    name: 'Friend',
    htmlBody: html,
    bcc: mailTo
  });

}

<h1>Good Evening, <?= NAME ?> </h1>
<h3>Hello Friend!</h3>

【讨论】:

  • 就是这样! createTemplate 是关键!
【解决方案2】:

您的 html 正文位于不同的文件中,并且无法通过 NAME 变量访问。 试试这个。

function sendEmail() {



  var mailTo = 'example@gmail.com'


  var NAME = SpreadsheetApp.getActiveSheet().getRange('Sheet1!A1').getValue();

var bodyText = "<h1>Good Evening,"+ NAME +" </h1><br><h3>Hello Friend!</h3>"

  var subject = 'Hello!'


  GmailApp.sendEmail('', subject, '', {


    name: 'Friend',
    htmlBody: bodyText,
    bcc: mailTo


  });


}

【讨论】:

  • 谢谢!问题是,我想对电子邮件应用格式,包括变量,所以将它放在单独的文件中会更容易。
  • 您必须弄清楚 html 文件如何能够看到这些变量。我想不出在你的 code.gs 中的 sendEmail 函数之外可以看到这些变量的方式,以及你现在如何设置函数。
猜你喜欢
  • 1970-01-01
  • 2013-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 2020-05-09
  • 1970-01-01
相关资源
最近更新 更多