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

Google Form提交后发邮件的Apps Script修改:无主题选项仍可触发

Google Form 自动发送响应邮件脚本修改方案

核心修改逻辑

原脚本的触发限制来自内置的主题选项非空校验分支:仅当检测到主题字段存在且用户选中至少一个选项时,才会执行邮件发送代码。移除该校验逻辑、添加字段兼容处理后即可实现所有提交场景下自动发邮件。

完整修改后参考脚本

可直接替换你手里的原脚本,也可对照修改对应逻辑:

function sendFormResponseEmail(e) {
  // 1. 获取表单提交的所有响应内容
  const formResponse = e.response;
  const itemResponses = formResponse.getItemResponses();
  // 可自定义收件人,也可从表单响应中提取用户填写的邮箱
  const recipient = Session.getActiveUser().getEmail();
  const emailSubject = "新表单提交通知";
  let emailBody = "你收到了一份新的表单提交,内容如下:\n\n";

  // 2. 遍历所有响应拼接邮件正文,兼容无主题字段场景
  for (let i = 0; i < itemResponses.length; i++) {
    const itemTitle = itemResponses[i].getItem().getTitle();
    const itemValue = itemResponses[i].getResponse();
    // 处理多选类字段的数组格式
    const formatValue = Array.isArray(itemValue) ? itemValue.join("、") : itemValue;
    emailBody += `${itemTitle}:${formatValue}\n`;
  }

  // 3. 移除原脚本的主题非空判断,直接发送邮件
  MailApp.sendEmail({
    to: recipient,
    subject: emailSubject,
    body: emailBody
  });
}

部署验证步骤

  • 修改脚本后点击「保存」按钮,为项目命名
  • 进入触发器页面,删除旧的表单提交触发器,新建触发器:选择对应函数、触发事件为「表单提交」
  • 首次触发需要完成脚本权限授权,安全提示页选择「高级」-「继续访问[你的项目名]」完成授权即可
  • 测试时直接提交空白表单/无主题选择的表单,即可收到响应邮件

如果你手里的原脚本结构和上面示例不同,只需要找到包裹MailApp.sendEmail方法的主题非空判断语句,删除外层的if判断包裹即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:15:03