fosrl.pangolin/server/emails/index.ts

39 lines
1 KiB
TypeScript
Raw Permalink Normal View History

2024-10-03 20:55:54 -04:00
export * from "@server/emails/sendEmail";
import nodemailer from "nodemailer";
2025-01-01 21:41:31 -05:00
import config from "@server/lib/config";
2024-10-03 20:55:54 -04:00
import logger from "@server/logger";
import SMTPTransport from "nodemailer/lib/smtp-transport";
2024-10-03 20:55:54 -04:00
function createEmailClient() {
const emailConfig = config.getRawConfig().email;
2025-01-28 22:13:46 -05:00
if (!emailConfig) {
logger.warn(
"Email SMTP configuration is missing. Emails will not be sent."
);
return;
}
2024-10-03 20:55:54 -04:00
const settings = {
host: emailConfig.smtp_host,
port: emailConfig.smtp_port,
secure: emailConfig.smtp_secure || false,
2024-10-03 20:55:54 -04:00
auth: {
user: emailConfig.smtp_user,
pass: emailConfig.smtp_pass
}
} as SMTPTransport.Options;
2025-03-02 23:24:21 -05:00
if (emailConfig.smtp_tls_reject_unauthorized !== undefined) {
settings.tls = {
2025-03-02 23:24:21 -05:00
rejectUnauthorized: emailConfig.smtp_tls_reject_unauthorized
};
}
return nodemailer.createTransport(settings);
2024-10-03 20:55:54 -04:00
}
export const emailClient = createEmailClient();
export default emailClient;