Fixed an issue with broken archive link. Added plaintext versions for transactional messages

This commit is contained in:
Andris Reinman 2016-04-08 15:00:54 +03:00
parent 4584c85b4b
commit 06d5e0d9bf
11 changed files with 144 additions and 63 deletions

View file

@ -38,24 +38,39 @@ module.exports.sendMail = (mail, template, callback) => {
});
}
if (!template || !template.template) {
return module.exports.transport.sendMail(mail, callback);
}
getTemplate(template.template, (err, renderer) => {
getTemplate(template.html, (err, htmlRenderer) => {
if (err) {
return callback(err);
}
mail.html = renderer(template.data || {});
module.exports.transport.sendMail(mail, callback);
if (htmlRenderer) {
mail.html = htmlRenderer(template.data || {});
}
getTemplate(template.text, (err, textRenderer) => {
if (err) {
return callback(err);
}
if (textRenderer) {
mail.text = textRenderer(template.data || {});
}
module.exports.transport.sendMail(mail, callback);
});
});
};
function getTemplate(template, callback) {
if (!template) {
return callback(null, false);
}
if (templates.has(template)) {
return callback(null, templates.get(template));
}
fs.readFile(path.join(__dirname, '..', 'views', template), 'utf-8', (err, source) => {
if (err) {
return callback(err);

View file

@ -218,8 +218,10 @@ module.exports.sendReset = (username, callback) => {
},
subject: 'Mailer password change request'
}, {
template: 'emails/password-reset.hbs',
html: 'emails/password-reset-html.hbs',
text: 'emails/password-reset-text.hbs',
data: {
title: 'Mailtrain',
username: rows[0].username,
confirmUrl: urllib.resolve(configItems.serviceUrl, '/users/reset') + '?token=' + encodeURIComponent(resetToken) + '&username=' + encodeURIComponent(rows[0].username)
}