繁体   English   中英

如何使用 HTML 发送 Google App 脚本 email

[英]How do I send Google App Script email using HTML

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

我想检查一个谷歌表以查看已结束的项目并通过 email 脚本将其作为表格发送。

工作表如下所示:

在此处输入图像描述

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

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>

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

此选项 object 可以包含所有 email 消息参数或仅包含消息正文的 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,
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM