【问题标题】:Populate HTML body with google sheet fields using MailApp.sendEmail script使用 MailApp.sendEmail 脚本使用 Google 表格字段填充 HTML 正文
【发布时间】:2017-11-09 19:15:30
【问题描述】:

我正在尝试使用 HTML 模板来发送自定义电子邮件,并使用 Google 表格上收集的数据。我已将代码链接到一个按钮,以便我选择要通过电子邮件发送的行/行,单击该按钮并将其发送给该行中的收件人。我还希望电子邮件的 body 包含行中的数据。我正在使用 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>

【问题讨论】:

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


    【解决方案1】:

    看看使用Scriptletsevaluate()

    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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 2015-09-11
      相关资源
      最近更新 更多