在我的应用中,我已经设置了nodemailer来发送邮件,这个应用是用Vue和Firebase构建的。这个应用是用Vue和Firebase构建的,我需要从UI中修改邮件模板,所以它们是以HTML格式保存在数据库中的,在这些模板中我需要能够使用动态值。
这就是创建邮件的方法。
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 protected]
但。
html: ` ${req.body.arenile.email_template}`
并没有。${req.body.email}
被打印成 ${req.body.email}
我不知道是我需要用不同的方式转义HTML,还是请求数据被评估在错误的地方。
我该如何解决这个问题?
我是这样解决的。
var html = req.body.arenile.email_template;
html = html.replace('{{email}}', req.body.email);
html: html
然后使用 {{email}}
将打印相关值。