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

Google表单提交后HTML邮件内容未解析问题求助

解决Google表单脚本HTML邮件不解析的问题

老哥,我懂你现在的困扰——明明在脚本里定义了htmlBody变量,但发送的确认邮件里HTML标签完全没被解析,还是显示成一堆带<br>的纯文本对吧?这问题其实出在你调用MailApp.sendEmail()的方式上,没把HTML内容作为专门的参数传入。

问题根源

如果你的原脚本是直接把htmlBody作为第三个参数传给sendEmail(比如MailApp.sendEmail(email, subject, htmlBody)),那这个参数会被当作纯文本正文来处理,HTML标签自然不会被解析。要让邮件识别HTML格式,必须用选项对象的形式传入htmlBody参数。

修改后的完整脚本示例

我把你的代码补全并修正了关键部分,保留了你原来的附件逻辑(假设你之前获取附件的代码是正常的):

function onFormSubmit(e) {
  var timestamp = e.values[0];
  var email = e.values[2];
  var subject = "Votre demande";
  
  // 直接写原生HTML标签即可,不用转义&lt;这类实体(除非你是在XML环境里)
  var htmlBody = `Madame, Monsieur,<br>
  Veuillez trouver ci-joint le(s) documents demandés. Nous sommes à votre entière disposition pour toute question.<br><br>
  Cordialement,<br>
  Votre équipe`;
  
  // 这里替换成你原来获取附件的逻辑,比如从表单响应或Drive中获取文件
  var attachments = [/* 示例:DriveApp.getFileById("你的文件ID") */];
  
  // 核心:用选项对象的方式调用sendEmail,明确指定htmlBody和纯文本备用版本
  MailApp.sendEmail({
    to: email,
    subject: subject,
    // 纯文本版本:给不支持HTML邮件的收件人备用
    plainTextBody: "Madame, Monsieur,\nVeuillez trouver ci-joint le(s) documents demandés. Nous sommes à votre entière disposition pour toute question.\n\nCordialement,\nVotre équipe",
    htmlBody: htmlBody,
    attachments: attachments
  });
}

几个关键注意点

  • 用**模板字符串(反引号``)**包裹HTML内容,这样可以直接换行写HTML,不用拼接字符串,也避免引号转义的麻烦。
  • 一定要传入plainTextBody作为降级选项,确保所有收件人都能看到正常的邮件内容。
  • 如果你的HTML里有更复杂的样式(比如字体、颜色),可以直接在<style>标签里定义,或者用内联样式(因为多数邮件客户端不支持外部样式表)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:50:44