В моем приложении я установил nodemailer для отправки писем. Приложение создано с использованием Vue и Firebase. Мне нужно изменить шаблоны электронной почты из пользовательского интерфейса, чтобы они сохранялись в базе данных в формате HTML. Внутри этих шаблонов мне нужно иметь возможность использовать динамические c значения.
Это метод создания электронного письма:
const mailOptions = {
from: "Test",
to: req.body.email,
subject: "New email from" + " " + req.body.email,
html: req.body.arenile.email_template
};
Содержимое req.body.arenile.email_template
в FireStore:
<p>Date: ${req.body.reservation_date} </p><p>Email: ${req.body.email}</p>
Проблема в том, что переменные не оцениваются и не распечатываются по электронной почте как есть.
Я пробовал:
html: ` ${req.body.arenile.email_template}`
, но это не решает это.
Если я использую:
html: `<p>Date: ${req.body.reservation_date} </p><p>Email: ${req.body.email}</p>`
, он работает нормально. ${req.body.email}
печатается как email@example.com
Но:
html: ` ${req.body.arenile.email_template}`
- нет. ${req.body.email}
печатается как ${req.body.email}
Я не уверен, нужно ли мне экранировать HTML по-другому или данные запроса оцениваются не в том месте ..
Как я могу исправить?