diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/email.ts | 28 |
1 files changed, 17 insertions, 11 deletions
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<boolean> => { 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<boolean> => { 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({ |