2016-09-16 9 views
1

私はGmailのAPIを使用してメールを送信しています。以下は私のコードですgmail apiはhtmlのコンテンツを使用してメールを送信します

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

しかし、この場合の内容はplain/textでなければなりません。問題は、HTML形式で 'コンテンツ'を渡したいということです。どのように私はこれを解決することができます上の任意の提案?

答えて

3

あなたのメッセージにはcontent typeを入力するか、前述のようにデフォルトでplain/textになります。値text/htmlContent-Typeヘッダーを追加するだけです:

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> 
+1

これは機能しました。再度、感謝します! :) –

+0

@DanielMarín助けて嬉しいです。 :) – Tholle

+0

Tholle ...コンテンツタイプ:text/html; charset = UTF-8 コンテンツをエンコードしていますが、対象がエンコードされていないことに気付きました。 件名に「português」のような単語がある場合は、「português」と表示されます gmail apiに件名をUTF-8にエンコードする方法を教えてください。 –

関連する問題