diff --git a/install/data/defaults.json b/install/data/defaults.json index a86fa023e4..43dd55bcc6 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -147,6 +147,7 @@ "username:disableEdit": 0, "email:disableEdit": 0, "email:smtpTransport:pool": 0, + "email:smtpTransport:allow-self-signed": 0, "hideFullname": 0, "hideEmail": 0, "showFullnameAsDisplayName": 0, diff --git a/public/language/en-GB/admin/settings/email.json b/public/language/en-GB/admin/settings/email.json index a3f49a0416..31d5a4f0fb 100644 --- a/public/language/en-GB/admin/settings/email.json +++ b/public/language/en-GB/admin/settings/email.json @@ -28,6 +28,8 @@ "smtp-transport.password": "Password", "smtp-transport.pool": "Enable pooled connections", "smtp-transport.pool-help": "Pooling connections prevents NodeBB from creating a new connection for every email. This option only applies if SMTP Transport is enabled.", + "smtp-transport.allow-self-signed": "Allow self-signed certificates", + "smtp-transport.allow-self-signed-help": "Enabling this setting will allow you to use self-self or invalid TLS certificates.", "template": "Edit Email Template", "template.select": "Select Email Template", diff --git a/src/emailer.js b/src/emailer.js index 6c57d6b44a..f280c21399 100644 --- a/src/emailer.js +++ b/src/emailer.js @@ -153,7 +153,11 @@ Emailer.setupFallbackTransport = (config) => { } else { smtpOptions.service = String(config['email:smtpTransport:service']); } - + if (config['email:smtpTransport:allow-self-signed']) { + smtpOptions.tls = { + rejectUnauthorized: false, + }; + } Emailer.transports.smtp = nodemailer.createTransport(smtpOptions); Emailer.fallbackTransport = Emailer.transports.smtp; } else { diff --git a/src/views/admin/settings/email.tpl b/src/views/admin/settings/email.tpl index a89fb850a8..d39d3b8f72 100644 --- a/src/views/admin/settings/email.tpl +++ b/src/views/admin/settings/email.tpl @@ -116,6 +116,11 @@
[[admin/settings/email:smtp-transport.pool-help]]
+[[admin/settings/email:smtp-transport.allow-self-signed-help]]
+