You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apps Script邮件合并:更新K列发送状态并避免重复发信

修改后的完整代码

function JustSendEmail() {
  // 变量定义:表格列索引(从0开始计数,A列对应0)
  var anrede = 2;
  var nachname = 3;
  var emailAdresse = 5;
  var terminTag = 6;
  var terminUhrzeit = 8;
  var terminURL = 9;
  // 补充定义邮件主题变量,原代码未定义会报错,可自行修改内容
  var betreff = "termin Bestätigung";

  var emailTemp = HtmlService.createTemplateFromFile('emailEinladung');
  var ws = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("terminBestaetigen");
  var data = ws.getRange("A3:K" + ws.getLastRow()).getValues();

  // 循环遍历每行数据,增加索引参数i用于定位表格行
  data.forEach(function (row, i) {
    // 跳过K列已标记为非待发送状态的行,避免重复发信
    // K列对应数组索引为10(A=0,K是第11列)
    if(row[10] !== "EMAIL NOT SENT YET") return;

    emailTemp.anrede1 = row[anrede];
    emailTemp.nachname1 = row[nachname];
    emailTemp.emailAdresse1 = row[emailAdresse];
    emailTemp.terminTag1 = row[terminTag];
    emailTemp.terminUhrzeit1 = row[terminUhrzeit];
    emailTemp.terminURL1 = row[terminURL];
    var htmlMessage = emailTemp.evaluate().getContent();
    
    // 异常捕获避免单条发送失败中断整个流程
    try {
      GmailApp.sendEmail(row[emailAdresse],
        betreff,
        "Dies ist eine Nachricht im HTML-Format. Sie müßen Ihre Email-Software entsprechend einrichten.",
        { htmlBody: htmlMessage, replyTo: "xxxx@testingappsscript.edu" }
      );
      // 发送成功后更新K列状态
      // 数据从第3行开始读取,数组索引i对应表格行号为i+3,K列是第11列
      ws.getRange(i + 3, 11).setValue("EMAIL SENT");
    } catch (e) {
      // 可选:发送失败时在K列标记错误信息,方便排查,不需要可删除
      ws.getRange(i + 3, 11).setValue("SEND FAILED: " + e.message);
    }
  });
}

核心改动说明

  1. 补充了原代码缺失的betreff邮件主题变量,否则脚本运行会直接报错,可根据实际需求修改主题内容
  2. 在循环入口增加状态判断:读取当前行K列(数组索引为10,因为数组默认从0开始计数)的状态,非待发送状态的行直接跳过,实现避免重复发信的需求
  3. 为循环回调增加索引参数i,配合数据起始行号(从第3行开始)定位当前行在表格中的实际位置,发送成功后直接写入新状态到K列
  4. 新增异常捕获逻辑,避免单个收件人邮箱无效、发送触发限制等问题导致整个批量发送流程中断

内容的提问来源于stack exchange,提问作者Bob Hardball

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 02:27:03