javascript - 从 Google Script 问题生成 HTML 邮件
问题描述
我有一个奇怪的问题让我大吃一惊,我有一个 GAS,它使用 MaillApp 服务从电子表格值发送 HTML 电子邮件,我有两封构造完全相同的邮件,但 HTML 电子邮件的发送方式不同:
1-这个工作正常:
if(dataArray[row][mailObj['Creation Checkbox']] == "TRUE" && dataArray[row][mailObj['Creation Mail']] == ""){
var template = HtmlService.createTemplateFromFile('creationMail');
template.url = ss.getUrl() + "#gid=" + sheet.getSheetId();
template.mailObj = mailObj;
template.dataArray = dataArray[row];
template.inputArray = inputArray[0];
var msg = template.evaluate().getContent();
var subject = `[New Task] ${dataArray[row][mailObj['Task Serial']]} @ ${dataArray[row][mailObj['Recorded Date']]} - ${dataArray[row][mailObj['Task Name']]} from ${dataArray[row][mailObj['Owner']]}`;
MailApp.sendEmail({
to: dataArray[row][mailObj['Responsible Email']],
cc: dataArray[row][mailObj['Owner Email']] + "," + dataArray[row][mailObj['Accountable Email']],
subject: subject,
htmlBody: msg,
})
}
<ul>
<li> <b> Task Serial: </b> <?= dataArray[mailObj['Task Serial']] ?> </li>
<? inputArray.forEach(input => {
if(dataArray[mailObj[input]] != ""){?>
<li> <b><?= input ?>:</b> <?= dataArray[mailObj[input]] ?>. </li>
<? }}); ?>
<li> <b>Recorded Date: </b> <?= dataArray[mailObj['Recorded Date']] ?> </li>
<li> <b>Expected Date: </b> <?= dataArray[mailObj['Expected Date']] ?> </li>
</ul>
2-这个不起作用:
else if(dataArray[row][mailObj['Submission Checkbox']] == "TRUE" && dataArray[row][mailObj['Submission Mail']] == ""){
var template = HtmlService.createTemplateFromFile('submissionMail');
template.url = ss.getUrl() + "#gid=" + sheet.getSheetId();
template.mailObj = mailObj;
template.dataArray = dataArray[row];
template.outputArray = outputArray[0];
var msg = template.evaluate().getContent();
var subject = `[New Submission] ${dataArray[row][mailObj['Task Serial']]} @ ${dataArray[row][mailObj['Submission Date']]} - ${dataArray[row][mailObj['Task Name']]} from ${dataArray[row][mailObj['Responsible']]}`;
MailApp.sendEmail({
to: dataArray[row][mailObj['Owner Email']],
cc: dataArray[row][mailObj['Accountable Email']],
subject: subject,
htmlBody: msg,
})
}
<ul>
<? outputArray.forEach(output => {
if(dataArray[mailObj[output]] != ""){?>
<li> <b><?= output ?>:</b> <?= dataArray[mailObj[output]] ?>. </li>
<? }}); ?>
<li> <b>Submission Date: </b> <?= dataArray[mailObj['Submission Date']] ?> </li>
<li> <b>Expected Date: </b> <?= dataArray[mailObj['Expected Date']] ?> </li>
</ul>
注意outputArray是正确的,没有错误。
解决方案
推荐阅读
- php - 具有默认内容的条件逻辑和高级自定义字段
- c - 泰勒级数实现对数的问题
- reactjs - 归档 react-native 项目失败并出现 `_RCTCxxBridge` 错误
- .net - 如果其他 Word 文档打开,Word Process 不会关闭
- python - 从 shell 脚本中获取 pytest 退出代码
- meteor - Meteor 1.8、Blaze 和 i18n 本地化
- php - Nginx 将 HTML 表单数据存储到 .csv 静默失败
- c - C程序中变量的覆盖率
- java - 单击“删除”按钮时,如何删除数据库中的一项?
- python - 表单提交前如何访问Flask_WTF Form中的表单数据?