我有一个脚本,该脚本使用带有HTML正文的GmailApp发送电子邮件。我希望html正文包含包含它的电子表格中的特定值,但是每次发送电子邮件时,我添加的scriptlet均显示为纯文本。
email.gs:
function sendEmail() {
var mailTo = '[email protected]'
var NAME = SpreadsheetApp.getActiveSheet().getRange('Sheet1!A1').getValue();
var subject = 'Hello!'
var html = HtmlService.createHtmlOutputFromFile('body').getContent();
GmailApp.sendEmail('', subject, '', {
name: 'Friend',
htmlBody: html,
bcc: mailTo
});
}
body.html:
<h1>Good Evening, <? NAME ?> </h1>
<h3>Hello Friend!</h3>
每当运行脚本时,都应从工作表中的指定单元格中提取“ NAME”。
我猜测它显示为文本的原因是GmailApp.sendEmail将原始html粘贴到电子邮件中,并假定客户端可以读取它,那么我如何首先通过脚本处理它,然后粘贴到电子邮件中呢?
最佳答案
或者,您可以使用createTemplateFromFile并在其中注释“ =“
function sendEmail() {
var mailTo = '[email protected]'
var subject = 'Hello!'
var html = HtmlService.createTemplateFromFile('body');
html.NAME = SpreadsheetApp.getActiveSheet().getRange('Sheet1!A1').getValue();
html = html.evaluate().getContent();
GmailApp.sendEmail('', subject, '', {
name: 'Friend',
htmlBody: html,
bcc: mailTo
});
}
<h1>Good Evening, <?= NAME ?> </h1>
<h3>Hello Friend!</h3>
关于javascript - 通过GmailApp.sendEmail在html电子邮件正文中使用电子表格值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54132134/