Update Nodemailer to v4

also filter out .jst files from email template dropdowns
This commit is contained in:
Peter Jaszkowiak
2017-08-30 14:26:41 -06:00
parent e8aa8c62f6
commit 23e7222dfa
6 changed files with 139 additions and 73 deletions

View File

@@ -5,8 +5,7 @@ var winston = require('winston');
var nconf = require('nconf');
var Benchpress = require('benchpressjs');
var nodemailer = require('nodemailer');
var sendmailTransport = require('nodemailer-sendmail-transport');
var smtpTransport = require('nodemailer-smtp-transport');
var wellKnownServices = require('nodemailer/lib/well-known/services');
var htmlToText = require('html-to-text');
var url = require('url');
@@ -17,8 +16,12 @@ var translator = require('./translator');
var pubsub = require('./pubsub');
var transports = {
sendmail: nodemailer.createTransport(sendmailTransport()),
gmail: undefined,
sendmail: nodemailer.createTransport({
sendmail: true,
newline: 'unix',
}),
smtp: undefined,
// gmail: undefined,
};
var app;
@@ -26,6 +29,11 @@ var fallbackTransport;
var Emailer = module.exports;
Emailer.listServices = function (callback) {
var services = Object.keys(wellKnownServices);
setImmediate(callback, null, services);
};
Emailer._defaultPayload = {};
Emailer.registerApp = function (expressApp) {
@@ -47,17 +55,24 @@ Emailer.registerApp = function (expressApp) {
};
// Enable Gmail transport if enabled in ACP
if (parseInt(meta.config['email:GmailTransport:enabled'], 10) === 1) {
transports.gmail = nodemailer.createTransport(smtpTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
if (parseInt(meta.config['email:smtpTransport:enabled'], 10) === 1) {
var smtpOptions = {
auth: {
user: meta.config['email:GmailTransport:user'],
pass: meta.config['email:GmailTransport:pass'],
user: meta.config['email:smtpTransport:user'],
pass: meta.config['email:smtpTransport:pass'],
},
}));
fallbackTransport = transports.gmail;
};
if (meta.config['email:smtpTransport:serice'] === 'nodebb-custom-smtp') {
smtpOptions.port = meta.config['email:smtpTransport:port'];
smtpOptions.host = meta.config['email:smtpTransport:host'];
smtpOptions.secure = true;
} else {
smtpOptions.service = meta.config['email:smtpTransport:service'];
}
transports.smtp = nodemailer.createTransport(smtpOptions);
fallbackTransport = transports.smtp;
} else {
fallbackTransport = transports.sendmail;
}