使用lodash模板与nodemailer

时间:2016-12-14 02:01:09

标签: node.js express lodash nodemailer

我正在使用' lodash.template'像这样

source("hlp/util1.R")

然后我生成像这样的emailHTML

var compiled = _.template('<% _.forEach(image, function(image) { %><td><img src="https://s3.amazonaws.com/<%- image.image %>"</td><% }); %>');

然后我发送这样的电子邮件

res.render('templates/reset-password-email', {
          name: name,
          qc: qc,
          images: compiled(qc),
          appName: appName
        }, function (err, template) {
          if (err) {
            console.log(err)
          }
          emailHTML = template;
          callback(null, arr);
        });

我遇到的问题是编译的lodash.template {{images}}被显示为文本而不是Html。例如,下面的html显示为文本而不是html。

var smtpTransport = nodemailer.createTransport(config.mailer.options);

      var mailOptions = {
        to: 'user@email.com',
        from: config.mailer.from,
        subject: 'subjet',
        attachments: [
          {
            path: filePath
          }
        ],
        html: emailHTML
      };
      smtpTransport.sendMail(mailOptions, function (err) {
        if (err) {
          console.log(err);
        }
        //done(err, 'done');
      });

有人可以帮我弄清楚我做错了什么。一如既往地感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的true ? "a" : false ? "b" : "c" 代码未关闭。添加结束true ? "a" : (false ? "b" : "c") ,它应该可以找到。