как передать значение динамически в href в шаблоне почты, используя nodejs - PullRequest
0 голосов
/ 27 октября 2018

Просмотреть отчет

Так выглядит мой HTML-шаблон, тогда как мой код nodejs -

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

Ответы [ 2 ]

0 голосов
/ 27 октября 2018

Вы также можете 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 папку с template-name в папке.

templates
  email-verification
      html.ejs

html.ejs

 <a href="<%= link %>" target="_blank">link</a>
0 голосов
/ 27 октября 2018

Я получил решение для этого.Передача тега с файлом 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);
...