1

我正在尝试设置从 Expressjs 启动的确认电子邮件。这个电子邮件模板是 html(现在是 ejs),我需要将变量传递给它,以便以后保存在变量中并使用 nodemailer 发送。

我试图做这样的事情却没有成功:

var final_html = res.render('confirm', {variables: 'aasdad'});

节点邮件代码:

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

1 回答 1

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 ...
});
于 2014-09-28T21:41:11.450 回答