2016-08-25 1 views
2

イムHTMLオプションEJSテンプレートをnodemailerに送信するにはどうすればよいですか?

var transporter = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    host : 'smtp.gmail.com', 
    secureConnection : true, 
    auth : { 
    user: '[email protected]', 
    pass: 'abc123' 
    } 
})); 

mailOptions = { 
    to : "Your email", 
    subject : "confirm your email" 
    html : "HOW DO I SENT AN EJS TEMPLATE HERE?" 
} 

をnodemailerするEJSテンプレートを送信しようと、私はhtmlの属性にEJSテンプレートを渡すにはどうすればよいですか?

+0

transporter.sendMail(mailOptions、機能(エラー、情報)私は – MikeT

答えて

1

はその後

var ejs = require('ejs'); 

var transporter = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    host : 'smtp.gmail.com', 
    secureConnection : true, 
    auth : { 
    user: '[email protected]', 
    pass: 'abc123' 
    } 
})); 

mailOptions = { 
    to : "Your email", 
    subject : "confirm your email" 
    html : ejs.renderFile(__dirname + '/YOUR_MAIL_TEMPLATE.ejs') 
} 
+0

が動作しないと思いますがnodemailerに渡すHTMLのテンプレートをレンダリングするためにEJSモジュールを使用して、それがリターンCBではありません示してい関数 – sinusGob

+0

申し訳ありませんrenderFileは非同期で、コールバックを使用してレンダリングされたHTMLを取得します。基本的な原則は同じです。テンプレートをejsライブラリでレンダリングする必要があります。https://www.npmjs.com/package/ejs –

関連する問題