如何修改Google Apps Script实现多收件人及表单样式邮件发送
Google Apps Script 邮件发送优化方案
修正后的完整代码
var email1 = "email1@email.com"; var email2 = "email2@email.com"; var email3 = "email3@email.com"; // 修正原代码变量名重复问题 function onFormSubmit(e) { // 构建HTML格式的邮件内容,匹配提交者收到的副本样式 let htmlBody = `<p><strong>Email:</strong> ${e.response.getRespondentEmail()}</p>`; e.response.getItemResponses().forEach(item => { htmlBody += `<p><strong>${item.getItem().getTitle()}:</strong> ${item.getResponse()}</p>`; }); // 发送邮件,配置抄送和HTML格式 MailApp.sendEmail({ to: email1, cc: `${email2}, ${email3}`, subject: "Report", htmlBody: htmlBody, textBody: e.response.getItemResponses() .reduce((body, item) => body += `${item.getItem().getTitle()} : ${item.getResponse()}\n`, `Email: ${e.response.getRespondentEmail()}\n`) }); }
关键修改说明
- 修正变量错误:原代码中
email3被错误命名为email2,已修正为var email3 = "email3@email.com" - 添加抄送功能:使用
sendEmail的高级参数cc,将email2和email3以逗号分隔的字符串传入,实现抄送 - 匹配提交者副本格式:生成HTML格式的邮件内容,使用
<strong>标签加粗标题、<p>标签分隔条目,模拟Google表单默认发送给提交者的邮件样式 - 兼容降级处理:同时保留
textBody参数,确保不支持HTML的邮箱能正常显示纯文本内容
内容的提问来源于stack exchange,提问作者Andy James
相关产品推荐
相关产品推荐

