有没有办法创建一个html文件,它将使用这两个(mailgun和expressjs)动态更改此html内部的变量,如发送重置密码电子邮件?我是新手,所以我不知道从哪里开始
答案 0 :(得分:3)
如果您正在考虑动态生成HTML,可以尝试使用EJS之类的内容。有了它,您可以创建一个welcome-email.ejs
,其中包含电子邮件的所有HTML,以及一些允许您插入变量的特殊<%
标记:
<p>Welcome, <%=user.firstName%>!</p>
const ejs = require('ejs')
const mailgun = ...
function sendWelcomeEmail(user) {
// arg 1: filepath from root, arg 2: object to pass into EJS template
ejs.renderFile('server/app/emailTemplates/welcome-email.ejs', {user: user.firstName}, function(err, htmlString) {
if (err) console.error(err);
// not sure how mailgun works, but it's probably like this
let mailOptions = { html: htmlString, to: user.email, ... }
mailgun.sendMail(mailOptions, (err, info) => {
if (err) console.error(err);
});
});
};