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

Google Apps Script触发器失败通知:如何添加非创建者接收邮箱?

实现多邮箱接收触发器失败通知的方法

当然可以实现!不过默认情况下,Google Apps Script的触发器失败通知确实只会发送给触发器的创建者,但我们可以通过自定义错误处理逻辑,轻松实现给多个指定邮箱发送失败提醒——甚至能让通知内容比默认的「Summary of failures」更实用详细。

核心思路是给你的触发器执行函数添加错误捕获,当执行失败时主动调用邮件服务发送自定义通知,具体步骤如下:

1. 修改执行函数,添加错误捕获

给原本的日常任务函数套上try-catch块,捕获执行过程中出现的所有错误:

function dailySpreadsheetTask() {
  try {
    // 这里放你原本的电子表格处理代码
    // 示例:更新数据、生成报表等操作
    const sheet = SpreadsheetApp.openById("你的表格ID").getSheetByName("日报表");
    sheet.appendRow([new Date().toLocaleString(), "任务执行中..."]);
    // ...其他业务逻辑
  } catch (error) {
    // 错误发生时执行通知逻辑
    sendFailureNotification(error);
    // 可选:如果希望保留默认的「Summary of failures」通知,取消下面的注释
    // throw error;
  }
}

2. 编写自定义邮件发送函数

在脚本中新增一个专门发送失败通知的函数,支持多个收件人:

function sendFailureNotification(error) {
  // 收件人列表,用逗号分隔多个邮箱
  const recipients = "your-email@example.com, teammate1@example.com, admin@example.com";
  const subject = "⚠️ 每日电子表格任务执行失败";
  // 邮件内容可以自定义,包含更详细的错误信息
  const body = `
  每日电子表格自动任务执行失败!
  
  失败时间:${new Date().toLocaleString()}
  错误详情:${error.message}
  错误堆栈:${error.stack}
  
  请及时排查问题!
  `;

  // 使用MailApp发送邮件(基础需求足够),如果需要更复杂的邮件可以用GmailApp
  MailApp.sendEmail(recipients, subject, body);
}

关键注意事项

  • 权限授权:第一次运行修改后的函数时,会提示你授权脚本访问邮件服务和电子表格,按照页面指引完成授权即可。
  • 默认通知取舍:如果在catch块中抛出错误(即保留throw error;),默认的「Summary of failures」邮件仍然会发送给创建者;如果不需要默认通知,去掉这行代码即可。
  • 邮件格式扩展:如果需要发送HTML格式的邮件、添加截图或附件,可以改用GmailApp.sendEmail(),它支持更多参数配置。

只要把修改后的函数绑定到你的时间驱动触发器上,下次任务执行失败时,指定的所有邮箱都会收到自定义的失败通知啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:13:15