使用Gmail Apps脚本以HTML格式发送电子邮件

时间:2017-08-25 14:34:55

标签: javascript html google-apps-script gmail gmail-api

我正在使用Google Apps脚本(http://script.google.com)为gmail编写自动回复机器人。每次我使用GmailThread的{​​{3}}来回复邮件:

var htmlbody = "Hello<br>This is a <b>test</b>.<br>Bye.";
var body = "Hello,\nThis is a test.\nBye.";

thread.reply(body, {htmlBody: htmlbody, from: "Myself <hello@example.com>"});

我需要以纯文本body和HTML htmlbody编写邮件。

是否有办法只用HTML编写电子邮件(以避免每次写入两次电子邮件内容,简单和HTML!),并让reply()自动发送是否以HTML和纯文本形式发送电子邮件?

我试过

var body = htmlbody.replace(/<br>/g,'\n').replace(/<b>/g,''); 
// we should also replace </b> by '', etc.

但这有点像黑客。有没有更好的版本?

1 个答案:

答案 0 :(得分:1)

Google Scripts无法自动生成纯文本部分,但您编写了一个简单的基于正则表达式的替换,可以从HTML中删除纯文本中的所有标记。

var body = htmlBody.replace(/<.+?>/g, "");
thread.reply(body, {htmlBody: htmlbody, from: "Myself <hello@example.com>"});

此外,如果您将正文设置为空白,则大多数现代电子邮件客户端仍然可以呈现图像。