【问题标题】:use lodash template with nodemailer在 nodemailer 中使用 lodash 模板
【发布时间】:2016-12-14 02:01:08
【问题描述】:

我正在像这样使用“lodash.template”

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

然后我像这样生成 emailHTML

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

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

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

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

<td><img src="https://s3.amazonaws.com/8e580-b7e3-11e6-bea-c3c74fd.jpg"</td>

谁能帮我弄清楚我做错了什么。一如既往地感谢您的帮助

【问题讨论】:

    标签: node.js express lodash nodemailer


    【解决方案1】:

    您的&lt;img&gt; 标签未关闭。添加结束&gt;,它应该可以找到。

    【讨论】:

    • 我尝试了 > 和 /> ,但似乎都没有帮助。还有其他建议吗?
    • 看看你给的最后一行代码:&lt;td&gt;&lt;img src="https://s3.amazonaws.com/8e580-b7e3-11e6-bea-c3c74fd.jpg"&lt;/td&gt; img标签没有关闭,你有没有尝试修复它(不是在lodash模板中),看看是否有效?
    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2018-07-11
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多