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

如何在Google Apps Script的sendEmail脚本中按表格条件添加抄送收件人?

实现方案

完全可行,下面给你两种场景的具体修改方法:

一、从当前行/当前工作表获取第二位抄送邮箱

假设你要从当前行的某一列(比如第19列对应row[19],注意Google Apps Script里数组索引从0开始,列号要对应实际表格列)取第二位邮箱,只需在定义options前判断row[18]的值,拼接抄送字符串即可:

if (Sdate >= SsheetDate && row[1] != "Fire"){
    if (row[17] != EMAIL_SENT) {
       var emailAddress = row[13]; 
       var file1 = DriveApp.getFileById(row[14]);
       var file2 = DriveApp.getFileById("");
       
       // 处理抄送列表
       var ccList = row[16]; // 原有的第一位抄送邮箱
       if (row[18] === "Yes") {
           // 从当前行指定列取第二位邮箱,替换成你实际要取的列索引
           var secondCc = row[19];
           // 拼接成逗号分隔的字符串,GAS的邮件接口支持这种格式
           ccList += ", " + secondCc;
       }
       
       var options = {cc: ccList, replyTo: row[16],
       // 补全你原本的options其他参数,比如subject、body等
       };
       
       // 后续执行发送邮件的代码,比如:
       // MailApp.sendEmail(emailAddress, 邮件主题, 邮件内容, options);
    }
}

二、从其他工作表获取第二位抄送邮箱

如果要从其他工作表取邮箱,比如你有个名为"邮箱配置"的工作表,示例如下:

if (Sdate >= SsheetDate && row[1] != "Fire"){
    if (row[17] != EMAIL_SENT) {
       var emailAddress = row[13]; 
       var file1 = DriveApp.getFileById(row[14]);
       var file2 = DriveApp.getFileById("");
       
       // 获取目标工作表
       var ss = SpreadsheetApp.getActiveSpreadsheet();
       var targetSheet = ss.getSheetByName("邮箱配置"); // 替换成你的工作表名称
       
       // 处理抄送列表
       var ccList = row[16];
       if (row[18] === "Yes") {
           // 示例1:直接取目标工作表的A1单元格邮箱
           var secondCc = targetSheet.getRange("A1").getValue();
           // 示例2:如果需要根据当前行值匹配查找(比如通过关键字找对应邮箱)
           // var lookupKey = row[某列索引];
           // var matchCell = targetSheet.getRange("A:A").createTextFinder(lookupKey).findNext();
           // var secondCc = matchCell.offset(0,1).getValue(); // 假设邮箱在关键字右侧一列
           
           // 避免空邮箱导致格式问题
           if (secondCc) ccList += ", " + secondCc;
       }
       
       var options = {cc: ccList, replyTo: row[16],
       // 补全剩余参数
       };
       
       // 发送邮件代码
    }
}

注意事项

  • 确认row[18]的索引是否正确:GAS中表格行数据数组的第一列对应row[0],如果你的判断列是Excel里的S列(第19列),那索引就是row[18],别搞混。
  • 确保第二位邮箱的单元格内容是有效的邮箱格式,避免邮件发送失败。
  • 如果第二位邮箱可能为空,建议加非空判断,防止抄送列表出现多余逗号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:43:18