在 Apps Script Email 中,如果您的模板正文中包含 HTML 字符串,它不会被自动评估为 HTML。要解决这个问题,您可以使用 HtmlService.createHtmlOutput()
方法将 HTML 字符串转换为可评估的 HTML。
下面是一个示例代码,演示如何在 Apps Script Email 中使用模板正文中的 HTML 字符串:
function sendEmail() {
// 获取模板正文中的 HTML 字符串
var templateHtml = "Hello, {{name}}!
";
// 创建 HTML 输出对象
var htmlOutput = HtmlService.createHtmlOutput(templateHtml);
// 获取评估后的 HTML 字符串
var evaluatedHtml = htmlOutput.getContent();
// 替换变量值
var name = "John Doe";
var replacedHtml = evaluatedHtml.replace("{{name}}", name);
// 发送电子邮件
MailApp.sendEmail({
to: "recipient@example.com",
subject: "Example Email",
htmlBody: replacedHtml
});
}
在上面的示例中,我们首先创建了一个 HtmlOutput
对象 htmlOutput
,并将模板正文中的 HTML 字符串传递给它。然后,我们使用 getContent()
方法获取评估后的 HTML 字符串 evaluatedHtml
。
接下来,我们使用 replace()
方法将模板中的变量 {{name}}
替换为实际的值,并将结果赋给 replacedHtml
。
最后,我们使用 MailApp.sendEmail()
方法发送电子邮件,其中包含替换后的 HTML 字符串作为邮件的 HTML 正文。
请注意,如果您的模板中包含动态内容,例如循环或条件语句,您可能需要使用其他模板引擎或库来处理它们。上面的示例仅解决了将模板正文中的 HTML 字符串评估为 HTML 的问题。