2016-08-25 85 views
2

我試着發送EJS模板nodemailer 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?" 
} 

我如何通過一個EJS模板到HTML屬性?

+0

transporter.sendMail(mailOptions,功能(錯誤信息)我覺得 – MikeT

回答

1

使用EJS模塊來呈現你的模板,然後HTML傳遞給nodemailer

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

不行的,它顯示了回報CB不一個函數 – sinusGob

+0

對不起renderFile是異步的,使用回調來獲取呈現的HTML。基本原理是一樣的,你需要使用ejs庫來渲染你的模板。https://www.npmjs.com/package/ejs –