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

Google Sheets表单提交后发送HTML模板邮件异常问题排查

问题解决:HTML邮件模板发送格式异常
  • 核心问题:你直接把HtmlService.createTemplateFromFile()返回的模板对象传给了GmailApp.sendEmail()的第三个参数,但这个参数仅接受纯文本字符串。要发送HTML格式邮件,需先将模板渲染为HTML字符串,再通过htmlBody配置项传入。
  • 修正后的代码:
function sendEmail () {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var lr = ss.getLastRow();
  var email = ss.getRange(lr,3).getValue();

  // 渲染HTML模板为可发送的字符串
  var messageTemplate = HtmlService.createTemplateFromFile('email');
  var htmlMessage = messageTemplate.evaluate().getContent();
  
  var subject = "Test Subject";
  // 配置HTML内容,同时保留纯文本备选方案
  GmailApp.sendEmail(
    email,
    subject,
    "请使用支持HTML的邮件客户端查看此邮件",
    { htmlBody: htmlMessage }
  );
}
  • 关键说明:
    • evaluate()会执行模板中的脚本逻辑,生成完整的HTML内容
    • getContent()将渲染后的HTML对象转换为字符串格式
    • GmailApp.sendEmail()的第四个参数是配置对象,htmlBody字段专门用于指定HTML邮件内容,第三个参数作为纯文本备选,兼容不支持HTML的邮件客户端

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:10:47