Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gmail api send email using content in html

I am using the gmail api to send emails. The following is my code

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
   }
 });
};

But the content in this case should be plain/text. The problem is that I want to pass the 'content' in HTML format. Any suggestion on how I can solve this?

like image 845
Daniel Marín Avatar asked Sep 16 '16 21:09

Daniel Marín


1 Answers

You have to provide a content type in your message, or it will default to plain/text as you mentioned. Just add a Content-Type-header with the value text/html:

From: [email protected]
To: [email protected]
Subject: Foo bar
Content-Type: text/html; charset=UTF-8

<b> This is the content of the email </b>
like image 123
Tholle Avatar answered Oct 20 '22 06:10

Tholle