Use juice to prepare html messages

This commit is contained in:
Andris Reinman 2016-05-03 19:21:01 +03:00
parent c031ea7747
commit 4f2d66c30c
8 changed files with 251 additions and 67 deletions

View file

@ -5,6 +5,7 @@ let log = require('npmlog');
let nodemailer = require('nodemailer');
let openpgpEncrypt = require('nodemailer-openpgp').openpgpEncrypt;
let settings = require('./models/settings');
let tools = require('./tools');
let Handlebars = require('handlebars');
let fs = require('fs');
let path = require('path');
@ -48,20 +49,30 @@ module.exports.sendMail = (mail, template, callback) => {
mail.html = htmlRenderer(template.data || {});
}
getTemplate(template.text, (err, textRenderer) => {
tools.prepareHtml(mail.html, (err, prepareHtml) => {
if (err) {
return callback(err);
// ignore
}
if (textRenderer) {
mail.text = textRenderer(template.data || {});
} else if (mail.html) {
mail.text = htmlToText.fromString(mail.html, {
wordwrap: 130
});
if (prepareHtml) {
mail.html = prepareHtml;
}
module.exports.transport.sendMail(mail, callback);
getTemplate(template.text, (err, textRenderer) => {
if (err) {
return callback(err);
}
if (textRenderer) {
mail.text = textRenderer(template.data || {});
} else if (mail.html) {
mail.text = htmlToText.fromString(mail.html, {
wordwrap: 130
});
}
module.exports.transport.sendMail(mail, callback);
});
});
});