调整Google Forms提交后邮件通知的行内容格式
解决Google Form提交邮件数据无行列区分的问题
嘿,我之前帮不少人搞定过这个Google Form的邮件排版问题!默认的提交邮件确实是把所有数据挤在一起,完全没有表单里的清晰结构,不过咱们有两个实用办法来解决:
方法一:用Google Apps Script定制HTML格式邮件(最灵活)
这是我最推荐的方案,能完全自定义邮件的排版,把表单数据做成清晰的表格或者逐行分隔的样式。步骤如下:
- 打开你的Google Form,点击右上角的三个点,选择「脚本编辑器」;
- 清空默认的
myFunction()代码,替换成下面的脚本:
function onFormSubmit(e) { // 提取表单提交的所有问题和答案 const responses = e.response.getItemResponses(); let emailContent = "<html><body><h3>新的客户报价表单提交</h3>"; // 用HTML表格来排版数据,让问题和答案分列显示 emailContent += "<table style='border-collapse: collapse; margin: 15px 0;'>"; responses.forEach(item => { const question = item.getItem().getTitle(); const answer = item.getResponse(); emailContent += ` <tr> <td style='border: 1px solid #ddd; padding: 8px; font-weight: bold;'>${question}</td> <td style='border: 1px solid #ddd; padding: 8px;'>${answer}</td> </tr> `; }); emailContent += "</table>"; // 加上你需要的固定说明文本 emailContent += ` <p>Once signed, please Fax, mail or e-mail it to the provided address.</p> <p><em>Above information is not an invoice and only an estimate of services/goods described above.</em></p> </body></html>`; // 发送HTML格式的邮件 MailApp.sendEmail({ to: "你的收件邮箱@example.com", // 替换成实际收件邮箱 subject: "客户报价表单提交通知", htmlBody: emailContent }); }
- 保存脚本(给它起个名字,比如
FormSubmitEmail); - 设置触发器:点击脚本编辑器左侧的时钟图标「触发器」,添加新触发器——选择函数
onFormSubmit,事件源选「表单提交」,保存后授权脚本权限; - 测试一下:自己提交一次表单,看看收件箱里的邮件是不是已经有清晰的表格排版了!
这个脚本用HTML表格把每个问题和对应的答案分成行列,还能给文本加样式(比如加粗问题、斜体说明),完全符合你的需求。
方法二:用Form Publisher插件(无需写代码)
如果你不想碰代码,可以试试Google Workspace的Form Publisher插件:
- 打开Google Form,点击顶部的「插件」→「获取插件」,搜索「Form Publisher」安装;
- 按照向导设置模板,选择邮件模板类型,把表单字段拖到模板里的对应位置,设置成逐行或者表格的格式;
- 配置完成后,每次表单提交都会按照你设置的模板生成排版整齐的邮件。
这个方法更适合怕写代码的朋友,不过灵活性不如脚本高。
内容的提问来源于stack exchange,提问作者Jacques Naudé
相关产品推荐
相关产品推荐

