gmail api 使用 html 中的内容发送电子邮件

Dan*_*rín 4 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').replace(/\+/g, '-').replace(/\//g, '_');

 var gmail = google.gmail('v1');
 var request = gmail.users.messages.send({
   auth: auth,
   userId: 'me',
   resource: {
     raw: encodedEmail
   }
 });
};
Run Code Online (Sandbox Code Playgroud)

但这种情况下的内容应该是纯文本/文本。问题是我想以 HTML 格式传递“内容”。关于如何解决这个问题的任何建议?

Tho*_*lle 8

您必须content type在您的消息中提供一个,否则它将默认plain/text为您提到的。只需添加一个Content-Type带有值的-header 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>
Run Code Online (Sandbox Code Playgroud)