使用MailApp.sendEmail脚本使用Google工作表字段填充HTML正文

时间:2017-11-09 19:15:30

标签: html email google-apps-script google-sheets html-email

我尝试使用HTML模板使用Google表格上收集的数据发送自定义电子邮件。我已将代码链接到按钮,以便选择要发送电子邮件的行/行,单击按钮并将其发送给该行中的收件人。我还希望电子邮件的正文包含该行的数据。我正在使用html正文脚本。我尝试使用相同的email[column #]来调用html脚本中的工作表中的数据,但无济于事。 如何从我的工作表中获取字段以填充html脚本以发送自定义电子邮件?

这是我目前正在使用的代码:

function email() {
  var htmlBody = HtmlService.createHtmlOutputFromFile('mail_template').getContent();
  var rng = SpreadsheetApp.getActiveSheet().getActiveRange()
  var email = rng.getValues()[0];
  MailApp.sendEmail({
    to: email[23],
    subject: 'Show Seats ' + email[1],
    htmlBody: htmlBody,
    replyTo:'user@productions101.com',
  });
}

我还有一个单独的html文件也保存在脚本中。我更喜欢将它保存在一个单独的文件中,因为它更易于编辑。

    <html>
  <head>
  <script>
  </script>
  </head>
  <body>
      <p>Hello,</p>
      <p>&nbsp;</p>
      <p>You are CONFIRMED!</p>
      <p>No. of Tickets: email[10]</p>
      <p>Date/Time:email[2]</p>
      <p>CC Charge: $email[14]</p>
      <p>Held Under:email[1]</p>
      <p>&nbsp;</p>
      <p>Tickets will be held at the  Box Office. If you are picking up your tickets in advance, they will be available 48 hours before your selected performance. Please note there is no late seating.</p>
      <p>&nbsp;</p>
      <p>Thanks!</p>
<div><p><a href="http://www.gap.com/" style="font-family: Tahoma; font-size: 13px;"><img src="https://image.ibb.co/d0aDt6/DEH_Signature_Book.png" /></a></p></div>

  </body>
</html>

1 个答案:

答案 0 :(得分:0)

使用Scriptlets

查看evaluate()
function email() {
  var htmlBody = HtmlService.createTemplateFromFile('mail_template');  
  var rng = SpreadsheetApp.getActiveSheet().getActiveRange();
  var email = rng.getValues()[0];

  // set the values for the placeholders
  htmlBody.tickets = email[10];
  htmlBody.datetime = email[2];
  htmlBody.cc = email[14];
  htmlBody.held_under = email[1];

  // evaluate and get the html
  var email_html = htmlBody.evaluate().getContent();

  MailApp.sendEmail({
    to: email[23],
    subject: 'Show Seats ' + email[1],
    htmlBody: email_html,
    replyTo:'user@productions101.com',
  });
}

在HTML模板中,添加占位符/ printing scriptlets

<html>
  <body>
    <p>Hello,</p>
    <p>&nbsp;</p>
    <p>You are CONFIRMED!</p>
    <p>No. of Tickets: <?= tickets ?></p>
    <p>Date/Time:<?= datetime ?></p>
    <p>CC Charge: <?= cc ?></p>
    <p>Held Under:<?= held_under ?></p>
    <p>&nbsp;</p>
    <p>Tickets will be held at the  Box Office. If you are picking up your tickets in advance, they will be available 48 hours before your selected performance. Please note there is no late seating.</p>
    <p>&nbsp;</p>
    <p>Thanks!</p>
    <div><p><a href="http://www.gap.com/" style="font-family: Tahoma; font-size: 13px;"><img src="https://image.ibb.co/d0aDt6/DEH_Signature_Book.png" /></a></p></div>
  </body>
</html>