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

基于Google Form多选的多条件邮件发送脚本改造需求

改造方案:支持复选框多选的邮件发送脚本

核心思路是用选项-配置映射表替代原有的switch语句,直接遍历用户选中的每个选项,匹配对应的收件邮箱和自定义主题,逐个发送邮件,完全不用枚举所有可能的多选组合。

改造后的完整代码:

function sendFormByEmail(e) {
  var named_values = e.namedValues;
  // 构建选项与邮箱、主题的映射表,直接对应表单里的选项文本
  const outletConfig = {
    "School Intercom Announcement": {
      email: "person1@school.net",
      subject: "Announcement Request"
    },
    "MHHS Website": {
      email: "person2@school.net",
      subject: "Announcement Request"
    },
    "MHHS Social Media (Instagram, Facebook, Twitter)": {
      email: "person3@school.net",
      subject: "Announcement Request"
    },
    "Week in Pics": {
      email: "person4@school.net",
      subject: "Week in Pics Request"
    },
    "Remind text message (goes to students - please specify in your message info if it is all grades or specific grades)": {
      email: "person5@school.net",
      subject: "Remind Text Request"
    },
    "Phone call home": {
      email: "person6@school.net",
      subject: "Announcement Request"
    }
  };

  // 生成邮件内容
  var message = "";
  for (var field in named_values) {
    message += field + ' :: ' + named_values[field].toString() + "\n\n";
  }

  // 获取用户选中的所有选项(数组形式)
  const selectedOutlets = named_values["Choose announcement outlet"];
  // 遍历每个选中的选项,单独发送邮件
  if (selectedOutlets && selectedOutlets.length > 0) {
    selectedOutlets.forEach(outlet => {
      const config = outletConfig[outlet];
      if (config) { // 确保选项在映射表中有对应配置
        MailApp.sendEmail(config.email, config.subject, message);
      }
    });
  }
}

关键改动说明

  1. 用映射表替代switch:把每个选项对应的邮箱和主题统一存在outletConfig对象里,维护起来比switch更直观,新增选项直接加键值对就行。
  2. 处理多选数组:不再把选项转成逗号分隔的字符串,直接获取表单返回的数组selectedOutlets,遍历每个元素。
  3. 逐个发送邮件:每选中一个选项,就给对应收件人发一封邮件,完全覆盖多选场景。
  4. 容错处理:增加了选中选项的空值检查,以及选项是否在映射表中的判断,避免触发无收件人错误。
  5. 统一默认主题:给所有无特殊主题的选项设置了默认主题Announcement Request,避免原脚本中subject未定义的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:25:27