Smtp emailer issue 5951 (#5954)

* Fixed typo at emailer.js line 66 (serice -> service)

* When custom SMTP user and password is empty no authentication is attempted

* Added options to choose custom smtp connection security

* Made custom smtp connection security strings translatable

* Changed switch to if-else for custom smtp security option

* Fixed emailer.js lint errors

* Move custom setting to top of list
This commit is contained in:
Dravere
2017-10-05 00:26:44 +02:00
committed by Barış Soner Uşaklı
parent dd5651b859
commit 38900a9964
3 changed files with 37 additions and 10 deletions

View File

@@ -56,17 +56,33 @@ Emailer.registerApp = function (expressApp) {
// Enable Gmail transport if enabled in ACP
if (parseInt(meta.config['email:smtpTransport:enabled'], 10) === 1) {
var smtpOptions = {
auth: {
var smtpOptions = {};
if (meta.config['email:smtpTransport:user'] || meta.config['email:smtpTransport:pass']) {
smtpOptions.auth = {
user: meta.config['email:smtpTransport:user'],
pass: meta.config['email:smtpTransport:pass'],
},
};
};
}
if (meta.config['email:smtpTransport:serice'] === 'nodebb-custom-smtp') {
if (meta.config['email:smtpTransport:service'] === 'nodebb-custom-smtp') {
smtpOptions.port = meta.config['email:smtpTransport:port'];
smtpOptions.host = meta.config['email:smtpTransport:host'];
smtpOptions.secure = true;
if (meta.config['email:smtpTransport:security'] === 'NONE') {
smtpOptions.secure = false;
smtpOptions.requireTLS = false;
smtpOptions.ignoreTLS = true;
} else if (meta.config['email:smtpTransport:security'] === 'STARTTLS') {
smtpOptions.secure = false;
smtpOptions.requireTLS = true;
smtpOptions.ignoreTLS = false;
} else {
// meta.config['email:smtpTransport:security'] === 'ENCRYPTED' or undefined
smtpOptions.secure = true;
smtpOptions.requireTLS = true;
smtpOptions.ignoreTLS = false;
}
} else {
smtpOptions.service = meta.config['email:smtpTransport:service'];
}