allow setting tks.rejectUnauthorized for Nodemailer in config closes #264

This commit is contained in:
miloschwartz 2025-03-02 20:02:58 -05:00
parent adef93623d
commit 59eedce664
No known key found for this signature in database
2 changed files with 12 additions and 2 deletions

View file

@ -3,6 +3,7 @@ export * from "@server/emails/sendEmail";
import nodemailer from "nodemailer"; import nodemailer from "nodemailer";
import config from "@server/lib/config"; import config from "@server/lib/config";
import logger from "@server/logger"; import logger from "@server/logger";
import SMTPTransport from "nodemailer/lib/smtp-transport";
function createEmailClient() { function createEmailClient() {
const emailConfig = config.getRawConfig().email; const emailConfig = config.getRawConfig().email;
@ -13,7 +14,7 @@ function createEmailClient() {
return; return;
} }
return nodemailer.createTransport({ const settings = {
host: emailConfig.smtp_host, host: emailConfig.smtp_host,
port: emailConfig.smtp_port, port: emailConfig.smtp_port,
secure: emailConfig.smtp_secure || false, secure: emailConfig.smtp_secure || false,
@ -21,7 +22,15 @@ function createEmailClient() {
user: emailConfig.smtp_user, user: emailConfig.smtp_user,
pass: emailConfig.smtp_pass 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(); export const emailClient = createEmailClient();

View file

@ -160,6 +160,7 @@ const configSchema = z.object({
smtp_user: z.string().optional(), smtp_user: z.string().optional(),
smtp_pass: z.string().optional(), smtp_pass: z.string().optional(),
smtp_secure: z.boolean().optional(), smtp_secure: z.boolean().optional(),
smtp_tls_reject_unathorized: z.boolean().optional(),
no_reply: z.string().email().optional() no_reply: z.string().email().optional()
}) })
.optional(), .optional(),