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(),