我正在尝试设置从Expressjs启动的确认电子邮件。 这个电子邮件模板是html(现在是ejs),我需要将变量传递给它,以便稍后保存在变量中并通过nodemailer发送。
我试图做这样的事情成功:
var final_html = res.render('confirm', {variables: 'aasdad'});
NodeMailer代码:
var mailOptions = {
from: test@test.com, // sender address
to: 'test@test.com', // list of receivers
subject: 'Welcome '+req.body.name, // Subject line
html: final_html
};
如何实现这一目标?
提前致谢!
PD:发布答案代码:
var final_html = res.render('confirm', {url: 'aasdad'}, function(err, html) {
if (err){ return err;}
return html;
});
答案 0 :(得分:1)
只需传入一个回调作为第三个参数,它将通过(err, final_html)
调用:
res.render('confirm', {variables: 'aasdad'}, function(err, final_html) {
if (err) throw err; // TODO: handle errors better
var mailOptions = {
from: 'test@test.com', // sender address
to: 'test@test.com', // list of receivers
subject: 'Welcome ' + req.body.name, // Subject line
html: final_html
};
// call node-mailer with `mailOptions` here ...
});