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

View file

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