Google Sheets脚本发送HTML邮件时出现Malformed HTML content错误
问题根源
触发Malformed HTML content错误的核心原因是你的HTML模板存在语法错误:
模板里的<div <?= subheader ?></div>有两个致命问题:
- div标签缺少闭合的
>,标签结构本身不合法 subheader是你从表格getValues()拿到的二维数组,直接输出到HTML中会转为非预期的数组字符串,进一步破坏HTML结构
另外你已经把subheader拆解为priority/player等独立字段用在表格表头里,这行代码本身是多余的。
修复步骤
- 修正HTML模板的错误行,直接删除多余的
<div <?= subheader ?></div>即可,修改后对应片段为:
<div> <h1><?= h1 ?></h1> </div> <div> <!-- 原错误行已删除 --> </div>
- (可选优化)你传入模板的
tableRangeValues没有用到,当前表格tbody是硬编码的示例内容,如果要动态渲染表格数据,可以把tbody部分替换为循环输出:
<tbody> <? tableRangeValues.forEach(row => { ?> <tr> <td><?= row[0] ?></td> <td><?= row[1] ?></td> <td><?= row[2] ?></td> <td><?= row[3] ?></td> <td><?= row[4] ?></td> <td><?= row[5] ?></td> </tr> <? }) ?> </tbody>
验证
修改完成后重新运行脚本,模板渲染不会再报畸形HTML错误,邮件可正常发送。
内容的提问来源于stack exchange,提问作者Scott Shimer
相关产品推荐
相关产品推荐

