2016-08-25 12 views
2

Im пытается отправить шаблон 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

не работает, он показывает возвращение центибар не функция – sinusGob

+0

Извините, что renderFile является асинхронным, используйте обратный вызов для получения отображаемого HTML. Базовый принцип тот же, вам нужно сделать свой шаблон с помощью библиотеки ejs. https://www.npmjs.com/package/ejs –