У меня проблемы с шаблоном электронной почты, потому что я устанавливаю последнюю версию шаблонов электронной почты, и она по умолчанию поставляется с расширением pug. Я не знаю, как изменить расширение, если вы, ребята, можете мне это объяснить. Итак, у меня есть код, который на самом деле должен получить из папки «mailOrdersPay» файл html .hbs. Но он всегда добавляет расширение .pug и отклоняет электронное письмо, сообщающее, что такого файла или каталога нет.
var transporter = nodemailer.createTransport({
host: "smtp.gmail.com",
port: 587,
secure: false,
tls: true,
auth: {
user: '',
pass: ''
}
});
function loadTemplate (templateName, contexts){
//let template = new EmailTemplate(path.join(__dirname, 'templatesMail', templateName));
let email = new Email({
views: { root: path.join(__dirname, 'templatesMail', templateName) },
});
return Promise.all(contexts.map((context) => {
return new Promise((resolve, reject) => {
email.render(path.join(__dirname, 'templatesMail', templateName), context)
.then(result => {
resolve({
email: result,
context
});
})
.catch(console.error);
});
}));
}
let emailArgs = [{
surName : req.user.surname,
email : req.user.email,
Menu_Name : result.title,
Order_id : result.order_id,
Order_date : result.order_time,
Quantity : result.quantity,
Quantity_Light : result.quantity_vegan,
Quantity_Normal : result.quantity_normal,
Unit_Price : result.price,
phone : req.body.phone,
Total : result.final_price,
address : result.delivery_address,
comment : result.comment
}];
loadTemplate('mailOrdersPay', emailArgs).then((results) => {
return Promise.all(results.map((result) => {
sendEmail({
to: req.user.email,
bcc: '',
from: '',
subject: ' ',
html: result.email,
attachments: [{
filename: 'contacto.jpeg',
path: __dirname + '/app/models/templatesMail/confirmationMail/img/contacto.jpeg',
cid: 'contacto@cid'
}]
})
}));
}).then(() => {
console.log('order confirmation sent');
})