Используйте файл Html в качестве шаблона в nodejs для отправки электронных писем для маркетинга с некоторыми данными сложного уровня. - PullRequest
2 голосов
/ 03 августа 2020

Я хочу использовать файл Html в качестве шаблона в nodejs для отправки электронных писем для маркетинга с некоторыми данными сложного уровня, такими как графики, заполняющие их динамически, а также отображающие сетки и т.д. c. Я хочу, чтобы это было динамически c, например, для каждого пользователя данные могут отличаться. Как лучше всего это сделать? Я хочу, чтобы это было на стороне сервера с данными

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Вы можете использовать пакет шаблонов писем. Реализация довольно проста. В случае, если вы используете nodemailer, вам сначала нужно настроить транспортную переменную, как это (пример с mailtrap):

const nodemailer = require('nodemailer');
    const transporter = nodemailer.createTransport({
      host: 'smtp.mailtrap.io',
      port: 465,
      secure: false,
      auth: {
        user: // mailtrap.io username
        pass: // mailtrap.io password
      }
    });

Затем вы используете пакет, создавая электронное письмо и отправляя его с нужными вам переменными. используя документацию . Например:

const email = new Email({
      transport: transporter,
      send: true,
      preview: false,
      views: {
        options: {
          extension: 'ejs', //or hbs or whatever template you use
        },
        root: 'path/to/email/templates',
      },
    });

email.send({
      template: 'hello',
      message: {
        from: 'Daenerys Targaryen <no-reply@example.com>',
        to: 'john@snow.com',
      },
      locals: {
        fname: 'John',
        lname: 'Snow',
      },
    }).then(() => console.log('email has been send!'));

В этом случае у вас будет файл внутри email/templates с именем hello.ejs с переменными fname и lname (в вашем случае вы будете использовать данные пользователя ). Дополнительные примеры и случаи go к документации

1 голос
/ 03 августа 2020

Если я правильно понял ваш вопрос, я думаю, вам следует проверить, используя шаблоны E JS с express. E JS встраивает javascript в html для создания динамического c содержимого.

Оформить заказ здесь

...