From 59eedce664f3c6dbcb6d93804da564b5b443372a Mon Sep 17 00:00:00 2001 From: miloschwartz Date: Sun, 2 Mar 2025 20:02:58 -0500 Subject: [PATCH] allow setting tks.rejectUnauthorized for Nodemailer in config closes #264 --- server/emails/index.ts | 13 +++++++++++-- server/lib/config.ts | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/server/emails/index.ts b/server/emails/index.ts index c1c2bc87..f0ec0f46 100644 --- a/server/emails/index.ts +++ b/server/emails/index.ts @@ -3,6 +3,7 @@ export * from "@server/emails/sendEmail"; import nodemailer from "nodemailer"; import config from "@server/lib/config"; import logger from "@server/logger"; +import SMTPTransport from "nodemailer/lib/smtp-transport"; function createEmailClient() { const emailConfig = config.getRawConfig().email; @@ -13,7 +14,7 @@ function createEmailClient() { return; } - return nodemailer.createTransport({ + const settings = { host: emailConfig.smtp_host, port: emailConfig.smtp_port, secure: emailConfig.smtp_secure || false, @@ -21,7 +22,15 @@ function createEmailClient() { user: emailConfig.smtp_user, pass: emailConfig.smtp_pass } - }); + } as SMTPTransport.Options; + + if (emailConfig.smtp_tls_reject_unathorized !== undefined) { + settings.tls = { + rejectUnauthorized: emailConfig.smtp_tls_reject_unathorized + }; + } + + return nodemailer.createTransport(settings); } export const emailClient = createEmailClient(); diff --git a/server/lib/config.ts b/server/lib/config.ts index 61ca3d66..2cc39788 100644 --- a/server/lib/config.ts +++ b/server/lib/config.ts @@ -160,6 +160,7 @@ const configSchema = z.object({ smtp_user: z.string().optional(), smtp_pass: z.string().optional(), smtp_secure: z.boolean().optional(), + smtp_tls_reject_unathorized: z.boolean().optional(), no_reply: z.string().email().optional() }) .optional(),