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

如何在Google Form提交后发送邮件?脚本测试正常但提交未触发怎么办?

嘿,我来帮你搞定这两个Google Form邮件触发的问题!

问题1:如何在Google Form提交时发送邮件?

要实现表单提交自动发邮件,核心是借助Google Apps Script的触发器功能,具体操作步骤如下:

  • 打开你的Google Form,点击右上角的「更多」(三个点图标),选择「脚本编辑器」进入代码编辑界面。
  • 在编辑器里写一个处理提交事件的函数,比如下面这个示例(会把表单提交的内容都整理到邮件里):
function onFormSubmit(e) {
  // 提取表单提交的所有内容
  const responseItems = e.response.getItemResponses();
  let emailBody = "收到新的表单提交啦!内容如下:\n\n";
  
  responseItems.forEach(item => {
    emailBody += `${item.getItem().getTitle()}: ${item.getResponse()}\n`;
  });
  
  // 发送邮件
  MailApp.sendEmail({
    to: "your-email@example.com",
    subject: `新表单提交 | ${new Date().toLocaleString()}`,
    body: emailBody
  });
}
  • 给你的脚本项目起个名字(比如「表单提交邮件通知」)然后保存。
  • 设置安装式触发器:点击编辑器左侧的闹钟图标(「触发器」按钮),点击「添加触发器」,按以下配置:
    • 要运行的函数:选择你写的onFormSubmit
    • 部署来源:选「从表单」
    • 事件类型:选「表单提交」
    • 点击「保存」,按照提示完成权限授权(需要允许脚本访问你的邮箱和表单数据)。
  • 最后测试:填写并提交表单,检查你的邮箱就能收到通知啦!
问题2:测试脚本能发邮件,但提交表单时没触发?

你遇到的这个问题,大概率是触发器没有正确配置或者函数命名不匹配导致的,具体原因和修复方法如下:

  1. 函数命名不符合简单触发器规则
    你写的函数是OnSubmit(首字母大写),而Google Apps Script的简单触发器(不需要手动添加的那种)要求表单提交触发的函数名必须是onFormSubmit(全小写开头)。如果想用简单触发器,把函数名改成onFormSubmit再保存,重新提交表单试试。
    不过更推荐用安装式触发器,因为简单触发器有不少限制(比如执行时间、权限范围),安装式触发器更稳定可靠。

  2. 没有给函数绑定表单提交触发器
    你手动运行脚本测试时,相当于手动触发了函数,但表单提交时并没有自动触发的规则。解决方法很简单:

    • 回到脚本编辑器,点击左侧的「触发器」图标,然后点击「添加触发器」。
    • 配置选项:选择你写的OnSubmit函数,部署来源选「从表单」,事件类型选「表单提交」,点击「保存」完成授权。
    • 现在再提交表单,邮件应该就能正常发送了。
  3. 权限未正确授权
    手动运行脚本时你授权了一次,但安装式触发器可能需要重新确认权限。如果添加触发器时弹出权限请求,一定要允许脚本访问你的邮箱和表单数据,否则触发器无法执行发送邮件的操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:24:07