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

基于Google表单的匿名邮件自动发送AppScript开发求助

解决方案:匿名同事表扬邮件Google表单实现

核心代码实现

替换你之前的代码,用以下脚本可直接读取表单提交数据、替换模板内容并发送匿名邮件:

function respondToFormSubmit(e) {
  // 1. 获取表单提交的收件人邮箱和消息内容
  // 注意:键名需与Google表单中设置的「问题名称」完全一致
  const recipientEmail = e.parameter.recipient;
  const userMessage = e.parameter.message;

  // 2. 读取Google Docs模板并替换内容
  const templateDocId = "你的模板文档ID"; // 替换为你的Google Docs模板ID
  const templateDoc = DocumentApp.openById(templateDocId);
  const templateHtml = templateDoc.getBody().getHtmlContent(); // 获取HTML格式模板
  const emailBody = templateHtml.replace("{{MESSAGE_CONTENT}}", userMessage); // 替换模板占位符

  // 3. 发送匿名邮件
  GmailApp.sendEmail(
    recipientEmail,
    "来自同事的暖心鼓励", // 自定义邮件主题
    "请使用支持HTML的邮箱查看内容", // 纯文本 fallback
    {
      name: "匿名同事关怀", // 收件人看到的发件人显示名称
      from: "company-noreply@yourdomain.com", // 用公司公共邮箱/别名,确保匿名
      htmlBody: emailBody // 发送HTML格式邮件
    }
  );
}

匿名效果实现说明

邮件由脚本以指定的公共邮箱/别名发送,而非提交表单的用户个人邮箱,因此收件人无法获取提交者的任何身份信息。若没有公司公共邮箱,可在个人Gmail中设置别名(如noreply-team@example.com),并在from参数中使用该别名即可。

关键配置步骤

  1. 设置表单问题名称:
    打开Google表单,编辑每个问题时点击右下角「更多选项」→「问题名称」,分别设置为recipient(收件人邮箱)和message(表扬内容),确保与代码中e.parameter的键名匹配。
  2. 配置模板占位符:
    在你的Google Docs模板中插入占位符(如{{MESSAGE_CONTENT}}),脚本会自动将其替换为用户提交的表扬内容。
  3. 绑定表单提交触发器:
    在App Script编辑器中,点击「编辑」→「当前项目的触发器」,添加触发器:选择respondToFormSubmit函数,触发事件设为「表单提交」。

你之前代码的问题分析

  • 硬编码收件邮箱,未读取表单提交的目标邮箱;
  • 直接将文档作为附件发送,而非提取模板内容生成邮件正文;
  • 未利用表单提交事件对象e获取用户输入数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:32:06