From 8c64221f88654509e74d4baa8831f3f4cedf432d Mon Sep 17 00:00:00 2001 From: Cahit Atilgan Date: Tue, 13 May 2025 16:21:30 +0200 Subject: [PATCH 1/6] fix: configuring gmail smtp relay without any authentication --- server/service/emailService.js | 12 +++++++++++- server/service/settingsService.js | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/server/service/emailService.js b/server/service/emailService.js index 94d19f0f4..03e9cdebe 100755 --- a/server/service/emailService.js +++ b/server/service/emailService.js @@ -96,9 +96,10 @@ class EmailService { systemEmailUser, systemEmailAddress, systemEmailPassword, + systemEmailConnectionHost } = await this.settingsService.getDBSettings(); - const emailConfig = { + const baseEmailConfig = { host: systemEmailHost, port: systemEmailPort, secure: true, @@ -109,6 +110,15 @@ class EmailService { connectionTimeout: 5000, }; + const emailConfig = systemEmailPort === "465" ? baseEmailConfig : { + ...baseEmailConfig, + name: systemEmailConnectionHost, + secure: false, + pool: true, + tls: { rejectUnauthorized: false }, + auth: null + }; + this.transporter = this.nodemailer.createTransport(emailConfig); const buildHtml = async (template, context) => { diff --git a/server/service/settingsService.js b/server/service/settingsService.js index 290e645e9..bde361f80 100755 --- a/server/service/settingsService.js +++ b/server/service/settingsService.js @@ -7,6 +7,7 @@ const envConfig = { systemEmailUser: process.env.SYSTEM_EMAIL_USER, systemEmailAddress: process.env.SYSTEM_EMAIL_ADDRESS, systemEmailPassword: process.env.SYSTEM_EMAIL_PASSWORD, + systemEmailConnectionHost: process.env.SYSTEM_EMAIL_CONNECTION_HOST, jwtSecret: process.env.JWT_SECRET, jwtTTL: process.env.TOKEN_TTL, clientHost: process.env.CLIENT_HOST, From 12925c515aceffce215258605e5ca52303b1cbde Mon Sep 17 00:00:00 2001 From: Cahit Atilgan Date: Tue, 13 May 2025 18:07:53 +0200 Subject: [PATCH 2/6] fix: configuring gmail smtp relay without any authentication --- server/service/emailService.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/service/emailService.js b/server/service/emailService.js index 03e9cdebe..bdd727813 100755 --- a/server/service/emailService.js +++ b/server/service/emailService.js @@ -110,14 +110,19 @@ class EmailService { connectionTimeout: 5000, }; - const emailConfig = systemEmailPort === "465" ? baseEmailConfig : { + const isSmtps = Number(systemEmailPort) === 465; + + const emailConfig = !isSmtps ? { ...baseEmailConfig, name: systemEmailConnectionHost, secure: false, pool: true, tls: { rejectUnauthorized: false }, - auth: null - }; + } : baseEmailConfig; + + if (!isSmtps) { + delete emailConfig.auth; + } this.transporter = this.nodemailer.createTransport(emailConfig); From a3a381aad14a1e7da542e6e7064ad41ca830aea7 Mon Sep 17 00:00:00 2001 From: Cahit Atilgan Date: Thu, 15 May 2025 14:27:08 +0200 Subject: [PATCH 3/6] fix: removed env variable, configured a form field for editing email connect host --- client/src/Pages/Settings/SettingsEmail.jsx | 9 +++++++++ client/src/Validation/validation.js | 1 + client/src/locales/gb.json | 1 + server/db/models/AppSettings.js | 3 +++ server/service/settingsService.js | 1 - 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/client/src/Pages/Settings/SettingsEmail.jsx b/client/src/Pages/Settings/SettingsEmail.jsx index 694219614..46430e2e5 100644 --- a/client/src/Pages/Settings/SettingsEmail.jsx +++ b/client/src/Pages/Settings/SettingsEmail.jsx @@ -122,6 +122,15 @@ const SettingsEmail = ({ )} + + {t("systemEmailConnectionHost")} + +