mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-09 07:25:46 +01:00
Update Nodemailer to v4
also filter out .jst files from email template dropdowns
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user