Мне нужно сделать шаблон мопса в HTML для отправки почты.
Я использую nodemailer для отправки почты. Но когда он пытается отправить почту, происходит ошибка и говорят: «Нет такого файла или каталога». Путь к файлу правильный, но все равно он не работает. Я никогда раньше не работал с Jade / Pug, так что я в замешательстве, все в порядке или нет!
const nodemailer = require('nodemailer');
const pug = require('pug');
const promisify = require('es6-promisify');
const transport = nodemailer.createTransport({
host: process.env.MAIL_HOST,
port: process.env.MAIL_PORT,
auth: {
user: process.env.MAIL_USER,
pass: process.env.MAIL_PASS
}
});
const generateHTML = (filename, options = {}) => {
const html = pug.renderFile(`${ __dirname }/../views/email/${filename}.pug`, options);
return html;
};
exports.send = async (options) => {
const html = generateHTML(options.filename, options);
const mailOptions = {
from: `Example <noreply@example.com`,
to: options.user.email,
subject: options.subject,
html,
};
const sendMail = promisify(transport.sendMail, transport);
return sendMail(mailOptions);
};