【问题标题】:How do I send Google App Script email using HTML如何使用 HTML 发送 Google App Script 电子邮件
【发布时间】:2020-10-20 16:54:44
【问题描述】:

我一直在尝试学习如何使用 html 发送脚本电子邮件,但我在动态数据方面遇到了挑战,我需要帮助。

我想查看已结束项目的 google 表格,并通过电子邮件脚本将其作为表格发送。

工作表如下所示:

这是读取电子表格的代码:

function sendEmails() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Projects"));
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:O20");
  var data = dataRange.getValues();
  for (i in data) {
    var rowData = data[i];
    var emailAddress = rowData[11];
    var recipient = rowData[8];
    var end_date = rowData[2];
    var message1 = 'Kindly note that the project'
    var message2 = 'was scheduled to end on' + ' ' + end_date +'. Please confirm the end date and if it needs to be readjusted. If the project is on course please fill the project end survey '
    var message3 = 'Thanks'
    var pro_name = rowData[4];
    var pro_code = rowData[5];
    var message = 'Dear ' + recipient + ',\n\n' + message1 + ' ' + pro_name + ' '  + message2 + '.\n\n'   + message3;
    var subject = 'Project End: ' + pro_name;
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

我想出了基本的 HTML 文件,但我不知道如何链接两者,只向项目结束的人发送电子邮件。

<div dir="ltr">Hi,
    <div>
        <br>
    </div>
    <div>
        <table cellspacing="0" cellpadding="0" dir="ltr" border="1" style="table-layout:fixed;font-size:10pt;font-family:Arial;width:0px;border-collapse:collapse;border:none">
            <colgroup>
                <col width="153">
                    <col width="125">
                        <col width="141">
                            <col width="100">
                                <col width="375">
                                    <col width="119">
                                        <col width="132">
            </colgroup>
            <tbody>
                <tr style="height:21px">
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Project_State</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Start_Date</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">End_Date</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Project_ID</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Project_Name</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Project_Code</td>
                    <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)">Type</td>
                </tr>
                <? for(var i = 0; i < Data.length; i++) { ?>
                    <tr style="height:29px">
                        <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)"><?= proData[i].project_name ?></td>
                        <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;border:1px solid rgb(204,204,204)"><?= proData[i].project_code ?></td>
                        <td style="overflow:hidden;padding:2px 3px;vertical-align:bottom;text-align:center;border:1px solid rgb(204,204,204)">1<?= proData[i].end_date ?></td>
                    </tr>
                    <? } ?>
            </tbody>
        </table>
    </div>

【问题讨论】:

标签: javascript html for-loop google-apps-script


【解决方案1】:

【讨论】:

    【解决方案2】:

    要使用 MailApp 类发送带有 Apps 脚本的 HTML,您应该使用 options 对象来传递高级参数 htmlBody

    此选项对象可以包含所有电子邮件参数或仅包含邮件正文的 HTML。

    一个例子:

    function sendHtml() {
      // Send HTML content in email.
    
      var htmlBody = HtmlService.createHtmlOutputFromFile('your-html-file').getContent();
    
      MailApp.sendEmail({
        to: Session.getActiveUser().getEmail(),
        subject: 'Test Email markup - ' + new Date(),
        htmlBody: htmlBody,
      });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 2018-10-13
      相关资源
      最近更新 更多