google-apps-script - 使用 Google Appscript - 如何使用位于 Gmail 中的草稿模板中的自定义正文发送自动电子邮件?
问题描述
我已经启动并运行了一个简单的自动电子邮件消息 API。但是,我希望消息的“正文”比无格式文本更复杂。我的代码使用来自谷歌表格的数据,如下所示:
function doGet(e)
{
var ss = SpreadsheetApp.openById('SpreadsheetID');
var sheet = ss.getSheetByName("msg");
var rows = sheet.getDataRange().getValues();
Logger.log(e.parameter.name);
var headings = rows[0].map(String.toLowerCase);
Logger.log(headings);
var holder = [];
for(x in headings)
{
Logger.log(headings[x]);
var output = (headings[x] in e.parameters) ? e.parameter[headings[x]] : 'none';
if (headings[x] == 'id'){ output = getRandom();}
if (headings[x] == 'timestamp'){ output = new Date();}
holder.push(output);
}
Logger.log("The holder contains the following: " + holder);
Logger.log(holder.length);
sheet.appendRow(holder);
var lRow = sheet.getLastRow();
Logger.log('HEADING IS: ' + headings[1] + ' ' + lRow + ' ' + sheet.getRange(lRow, 2).getValue());
var tempMsg = GmailApp.getDraft()[0].getMessage();
MailApp.sendEmail(sheet.getRange(lRow, 2).getValue(),'mo@example.co.uk', 'Thank you for signing up!!', tempMsg.getBody());
return ContentService.createTextOutput(JSON.stringify({
'status' : 'success',
'lastRow' : lRow ,
'INFO' : holder
}))
}
使用上面的代码,我尝试给自己发电子邮件,但没有收到电子邮件。如果我删除“var tempMsg ...”并将MailApp.SendEmail(tempMsg.getBody())的最终属性替换为任何字符串 - 它确实有效。
这个想法是使用我的 Gmail 草稿文件夹中的草稿电子邮件的正文作为新的自动电子邮件的正文。
我浏览了 api 并尝试了不同的方法,例如 GmailApp.getDraft(id)。
谢谢您的帮助。
解决方案
我已经取得了一些进展。我已经设法学习如何将 html/css 样式添加到我的电子邮件正文中,并且它可以工作。这并不能准确回答问题,但结果是我想要的。
var htmlmsg = "<h1 style='text-align: center;'>This is the heading</h1><br/><p>Body Text</p>";
MailApp.sendEmail(sheet.getRange(lRow, 2).getValue(), 'Thank you for signing up!!', htmlmsg, {htmlBody:htmlmsg});
推荐阅读
- python - 在用户主目录中选择文件存储路径的正确跨平台方法是什么?
- css - 高斯模糊似乎不是 -svg
- spring - 手动关闭多个会话工厂和会话 Spring Boot Hibernate
- java - 如何使用 tablayout 和 Fragments 管理 java 文件
- c# - 设置 MinWidth 时 ListBox 获得 Height 1px
- python - 如何使 tcp ip 服务器连接始终保持在线
- python - 如何抓取不是另一个 div 的子级的 HTML div?
- reactjs - 使用 Recoil 和 React 创建高效的 Master Details UI 的规范方法是什么
- object - 无法访问 Jenkins/Groovy 中 LinkedHashMap 中嵌套映射的键和值
- list - 为什么flutter中List类的map方法不再起作用了?