Вы можете использовать пакет шаблонов писем. Реализация довольно проста. В случае, если вы используете 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 к документации