如果这件事已经被回答了,我很抱歉--我对此很陌生,可能需要一些指导;如果这是一个错误的论坛,我很乐意听取一些建议:)
我正在探索解决方案的半自动电子邮件起草脚本使用谷歌表作为来源数据。我使用了一个在互联网上找到的脚本(可能是个糟糕的主意,但我刚刚开始) 这里。
源文档是丰富的HTML文本,但是最终的Gmail草稿是纯文本。有办法确保它在富HTML中生成吗?
谢谢-雨果
发布于 2020-03-05 01:12:43
编辑更新的答案:
我更仔细地看了你的剧本。它使用的是一个名为createDraft()的不同函数。它实际上不是发送任何电子邮件,它只是创建草稿,你可以稍后发送。没问题。这是createDraft文档。createDraft还可以使用"htmlBody“作为消息体的替换参数。这就是我们要做的。
在脚本代码中,更改以下内容:
// Create the email draft
GmailApp.createDraft(
config[emailField], // Recipient
emailSubjectUpdated, // Subject
emailBody // Body
);对此:
// Create the email draft
GmailApp.createDraft({
to: config[emailField], // Recipient
subject: emailSubjectUpdated, // Subject
htmlBody : emailBody // Body
});只要您的"emailBody“变量内容在html中,您的电子邮件草稿应该保存为html工具。
但这是个难题。在没有额外外部库的情况下,将Google文档转换为纯HTML文件并不容易。一种解决方案是简单地放弃Google,在脚本中创建一个真正的html文件,并使用它作为emailBody变量。此解决方案的下面是一个例子实现。
原来的答案:
链接到的脚本似乎没有包含实际的邮件发送功能。不久前,我编写了一个脚本(用于电子表格),它根据电子表格中的行自动创建电子邮件,电子邮件由“富”html组成。
以下是邮件发送功能:
function sendEmail(to,sub,mes) {
var t = "";
var s = "";
var m = "";
sub == null || sub == undefined || sub == "" ? s = "Subject Failed" : s = sub;
mes == null || mes == undefined || mes == "" ? m = "Message Failed!" : m = mes;
to == null || to == undefined || to == "" ? t = "defaultemail@gmail.com" : t = to;
MailApp.sendEmail({to: t, subject: s, htmlBody: m});
}在这个函数中,我传递了几个变量(收件人"to“、主题"sub”和消息体"mes"),并且确保该函数仍然工作,即使由于某种原因,任何变量都是空白的。"mes“是我的消息体,它是用html编写的字符串。这就是我起草电子邮件的方式。如果您愿意,可以大大简化(我将在下面包含一个简化版本)。
关系到的部分是最后一行MailApp.sendEmail({to:t,subject:s,htmlBody: m}); 特别注意的"htmlBody“部分。如果sendEmail函数没有将"htmlBody“作为消息体的属性名,那么它将以纯文本的形式发送。您可能只需要找到其中包含"MailApp.sendEmail()“函数的函数,并将其调整为包含消息体的"htmlBody”属性名称。
以下是简化的函数:
function sendEmail(recipient, sub, mes) {
MailApp.sendEmail({to: recipient, subject: sub, htmlBody: mes});
}要阅读使用Google脚本发送电子邮件的所有选项,请阅读此页。
https://stackoverflow.com/questions/60536722
复制相似问题