You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Google表单非工作时段提交自动发送邮件回复方案及脚本报错解决问询

我来帮你搞定这个Google Forms非工作时段自动发通知的需求,结合你的场景,我整理了完整的脚本实现方案和常见报错的排查解决办法:


一、完整脚本实现方案

这个方案基于Google Forms关联的Google Sheets来实现——因为表单提交的数据会自动同步到Sheets中,我们可以通过Sheets的触发器监听新提交,并判断时间发送邮件。

1. 脚本代码

打开表单关联的Google Sheets,点击「扩展程序」→「Apps Script」,粘贴以下代码:

function sendOffHoursNotification(e) {
  // 设置时区,替换成你实际使用的时区(比如"Europe/London"或"Asia/Shanghai")
  const timeZone = "Asia/Shanghai";
  // 获取表单提交的时间(e.values[0]是默认的提交时间列)
  const submitTime = new Date(e.values[0]);
  
  // 提取提交时间的小时数(24小时制)
  const submitHour = parseInt(Utilities.formatDate(submitTime, timeZone, "HH"));
  
  // 判断是否处于非工作时段:00:00-05:00
  const isOffHours = submitHour >= 0 && submitHour < 5;
  
  if (isOffHours) {
    // 获取请求者邮箱(假设表单的邮箱字段是第2列,根据你的实际表单调整索引)
    const requesterEmail = e.values[1];
    // 邮件内容配置
    const subject = "工单提交通知:非工作时段处理说明";
    const body = `您好!\n\n您的工单已于${Utilities.formatDate(submitTime, timeZone, "yyyy-MM-dd HH:mm")}提交,当前处于我们的非工作时段(每日00:00-05:00),我们会在工作时段开始后第一时间处理您的请求。\n\n感谢您的理解!`;
    
    // 发送邮件
    MailApp.sendEmail({
      to: requesterEmail,
      subject: subject,
      body: body
    });
  }
}

2. 设置触发器

脚本写完后,需要配置一个「表单提交」触发器来触发函数:

  • 在Apps Script界面点击左侧的时钟图标(触发器)
  • 点击「添加触发器」
  • 配置选项:
    • 选择要运行的函数:sendOffHoursNotification
    • 事件源:「表单提交」
    • 事件类型:「来自表单的提交」
    • 时区:和脚本里设置的timeZone保持一致
  • 点击保存,按照提示完成权限授权(需要允许脚本访问邮件和表单数据)

二、常见报错及解决方法

1. 权限报错("Authorization is required to perform that action")

  • 原因:脚本没有获得足够的权限发送邮件或访问表单数据
  • 解决方法:首次运行脚本时,点击「运行」按钮,按提示完成授权流程;如果遇到Google安全提示,选择「高级」→「转到XX脚本(不安全)」继续授权

2. 时间判断错误(邮件未触发/错误触发)

  • 原因:时区设置不一致,导致提交时间的小时判断出错
  • 解决方法:确保脚本里的timeZone变量和触发器设置的时区完全一致,同时检查Sheets中提交时间列的时区格式是否正确

3. 邮箱获取失败(提示"Invalid email")

  • 原因:脚本里的邮箱列索引错误,或者表单未正确收集邮箱信息
  • 解决方法:在Sheets里查看提交数据的列顺序,确认邮箱所在列的索引(e.values从0开始计数,第一列是提交时间)

4. 触发器未触发(新提交后无邮件)

  • 原因:触发器配置错误或被禁用
  • 解决方法
    • 检查触发器的事件源是否选择了「表单提交」
    • 确认触发器绑定的函数名称和脚本里的完全一致
    • 查看触发器状态是否为「已启用」

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

火山引擎 最新活动