From 4ddacf84e5dbb55e69e74a086a02ebb5d0e0c7ce Mon Sep 17 00:00:00 2001 From: Ovv Date: Tue, 12 Nov 2024 16:48:42 +0100 Subject: nodemailer: Add support for no-auth and fix from address for attendee emails --- src/lib/email.ts | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'src/lib/email.ts') diff --git a/src/lib/email.ts b/src/lib/email.ts index f19e5dc..40b5200 100644 --- a/src/lib/email.ts +++ b/src/lib/email.ts @@ -39,9 +39,7 @@ export const initEmailService = async (): Promise => { case "nodemailer": if ( !config.nodemailer?.smtp_server || - !config.nodemailer?.smtp_port || - !config.nodemailer?.smtp_username || - !config.nodemailer?.smtp_password + !config.nodemailer?.smtp_port ) { return exitWithError( "Nodemailer is configured as the email service, but not all required fields are provided. Please provide all required fields in the config file.", @@ -50,15 +48,19 @@ export const initEmailService = async (): Promise => { const nodemailerConfig = { host: config.nodemailer?.smtp_server, port: Number(config.nodemailer?.smtp_port) || 587, - auth: { - user: config.nodemailer?.smtp_username, - pass: config.nodemailer?.smtp_password, - }, tls: { // do not fail on invalid certs rejectUnauthorized: false, }, } as SMTPTransport.Options; + + if (config.nodemailer?.smtp_username) { + nodemailerConfig.auth = { + user: config.nodemailer?.smtp_username, + pass: config.nodemailer?.smtp_password + }; + } + const nodemailerTransporter = nodemailer.createTransport(nodemailerConfig); const nodemailerVerified = await nodemailerTransporter.verify(); @@ -109,11 +111,15 @@ export const sendEmail = async ( const nodemailerConfig = { host: config.nodemailer?.smtp_server, port: Number(config.nodemailer?.smtp_port) || 587, - auth: { - user: config.nodemailer?.smtp_username, - pass: config.nodemailer?.smtp_password, - }, } as SMTPTransport.Options; + + if (config.nodemailer?.smtp_username) { + nodemailerConfig.auth = { + user: config.nodemailer?.smtp_username, + pass: config.nodemailer?.smtp_password + }; + } + const nodemailerTransporter = nodemailer.createTransport(nodemailerConfig); await nodemailerTransporter.sendMail({ -- cgit v1.2.3