From 8ddbec6b6830b9db681d9fd5f53680cfda4d94fa Mon Sep 17 00:00:00 2001
From: "P. J. Reed" <pjreed@users.noreply.github.com>
Date: Tue, 19 May 2020 15:21:07 -0500
Subject: [PATCH] Allow anonymous SMTP connections (#59)

This adds support for anonymously connecting to SMTP servers
that do not require authentication; if a username is not provided,
it will not attempt to authenticate.
---
 helpers/mailer.js | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/helpers/mailer.js b/helpers/mailer.js
index b6d206e..061c3b9 100644
--- a/helpers/mailer.js
+++ b/helpers/mailer.js
@@ -34,17 +34,27 @@ module.exports = {
       console.log("Email: to " + to_email + " in production.\nreply_to: " + reply_to + "\nsubject: " + subject + "\nbody: \n" + htmlText + "\n\n plaintext:\n" + plaintext);
 
     } else if (config.get('mail_provider') === 'smtp') {
+      let transporter;
+      if (config.has('mail_smtp_user')) {
+        transporter = nodemailer.createTransport({
+          host: config.get('mail_smtp_host'),
+          port: config.get('mail_smtp_port'),
+          secure: config.get('mail_smtp_secure'),
+          requireTLS: config.get('mail_smtp_require_tls'),
+            auth: {
+              user: config.get('mail_smtp_user'),
+              pass: config.get('mail_smtp_pass'),
+            }
+        });
+      } else {
+        transporter = nodemailer.createTransport({
+          host: config.get('mail_smtp_host'),
+          port: config.get('mail_smtp_port'),
+          secure: config.get('mail_smtp_secure'),
+          requireTLS: config.get('mail_smtp_require_tls'),
+        });
+      }
 
-      const transporter = nodemailer.createTransport({
-        host: config.get('mail_smtp_host'),
-        port: config.get('mail_smtp_port'),
-        secure: config.get('mail_smtp_secure'),
-        requireTLS: config.get('mail_smtp_require_tls'),
-        auth: {
-          user: config.get('mail_smtp_user'),
-          pass: config.get('mail_smtp_pass'),
-        }
-      });
 
       transporter.sendMail({
         from: from,
-- 
GitLab