如何使用nodejs将值动态传递给邮件模板中的href

时间:2018-10-27 06:25:27

标签: node.js html5 email-templates

查看报告

这是我的html模板的外观,而我的nodejs代码是

            templateContent = fs.readFileSync(templatePath, "utf8");
        templateContent = templateContent.replace("##ownername##", ownerObject.ownerName);
        templateContent = templateContent.replace("##link##", req.body.details.pdf.pdfUrl);

2 个答案:

答案 0 :(得分:0)

我为此找到了解决方案。将标记与node.js文件一起传递可以解决此问题。 示例:

var link = "<a href='" +req.body.details.pdf.pdfUrl+ "'>Click Here</a>";
        templateContent = fs.readFileSync(templatePath, "utf8");
        templateContent = templateContent.replace("##ownername##", ownerObject.ownerName);
        templateContent = templateContent.replace("##link##", link);

答案 1 :(得分:0)

  

您也可以email-templates-v2呈现邮件模板。

 const { EmailTemplate } = require('email-templates-v2');


const templateDir = path.join(__dirname, '../../../templates', 'template-name');
  const template = new EmailTemplate(templateDir);
  return new Promise((resolve, reject) => {
    template.render({'link':'http://1.com'}, (err, result) => {
      if (!err) {
        const { html } = result;
        resolve(html);
      } else {
        logger.error(err);
        reject(err);
      }
    });
  });
  

在文件夹中创建templates的{​​{1}}文件夹。

template-name
  

html.ejs

templates
  email-verification
      html.ejs