Javascript gmail api使用html格式的内容发送电子邮件

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

我正在使用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').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(主题)+'?='