小编Jus*_*ese的帖子

如何使用 Google Apps 脚本和 Google Sheet 数据逐行发送 html 电子邮件

我有一个脚本可以逐行发送电子邮件。我遇到的问题是我无法在电子邮件模板中使用当前行迭代中的数据。我知道如何从模板调用函数,但在这种情况下我无法调用正在评估的函数。

我的解决方案是创建另一个函数,该函数将再次循环数据并在电子邮件中发送行实例,然后中断。问题是,当我确信可以完成一次时,现在需要很长时间才能循环两次。

我希望我说得有道理。

代码.gs

function sendMail() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('EmailList');

  // get the data as an array
  var data = sheet.getDataRange().getValues();

  // Loop over each line
  for (var i = 1; i < data.length; i+=1) {

    // Check the status of the email
    if (data[i][4] != 'Sent') {
      // get html file content
      var html =     HtmlService.createTemplateFromFile('Index').evaluate().getContent();

      // send the email
      MailApp.sendEmail({
        to: data[i][2],
        subject: 'Hi ' + data[i][0],
        htmlBody: html
          });

      // Set the …
Run Code Online (Sandbox Code Playgroud)

javascript email html-email google-apps-script

2
推荐指数
1
解决办法
8273
查看次数