Javascript gmail api使用html格式的内容发送电子邮件
我正在使用gmail api发送电子邮件。下面是我的代码Javascript gmail api使用html格式的内容发送电子邮件,javascript,node.js,gmail-api,Javascript,Node.js,Gmail Api,我正在使用gmail api发送电子邮件。下面是我的代码 function sendEmail(auth, from, to, subject, content) { var encodedEmail = new Buffer( 'From: ' + from + '\r\n' + 'To: ' + to + '\r\n' + 'Subject: ' + subject + '\r\n\r\n' + content ).toString('base64').re
function sendEmail(auth, from, to, subject, content) {
var encodedEmail = new Buffer(
'From: ' + from + '\r\n' +
'To: ' + to + '\r\n' +
'Subject: ' + subject + '\r\n\r\n' +
content
).toString('base64').replace(/\+/g, '-').replace(/\//g, '_');
var gmail = google.gmail('v1');
var request = gmail.users.messages.send({
auth: auth,
userId: 'me',
resource: {
raw: encodedEmail
}
});
};
但本例中的内容应为纯文本。问题是我想以HTML格式传递“内容”。关于如何解决这个问题有什么建议吗?您必须在邮件中提供
内容类型
,否则它将默认为纯文本
。只需添加一个内容类型
-标题,其值为text/html
:
From: sender@gmail.com
To: receiver@gmail.com
Subject: Foo bar
Content-Type: text/html; charset=UTF-8
<b> This is the content of the email </b>
来自:sender@gmail.com
致:receiver@gmail.com
主题:富吧
内容类型:text/html;字符集=UTF-8
这是电子邮件的内容
Thole。。。内容类型:text/html;charset=UTF-8正在对内容进行编码,但我注意到主题没有被编码。如果主题有一个像“葡萄牙语”这样的词,它会显示“葡萄牙语”,你知道我该如何告诉gmail api将主题编码为UTF-8吗?解释它<代码>变量encodedSubject='=?utf-8?B?'+btoa(主题)+'?='代码>