diff --git a/src/lib/mailer.ts b/src/lib/mailer.ts index 31dc622..dec4f14 100644 --- a/src/lib/mailer.ts +++ b/src/lib/mailer.ts @@ -1,4 +1,5 @@ import { logger } from '../logger.js'; +import { logger } from '../logger.js'; export interface MailerOptions { enabled: boolean; @@ -24,6 +25,10 @@ let mailerOptions: MailerOptions = { transport: (process.env.MAILER_TRANSPORT as 'console' | 'smtp') ?? 'console', }; +export function getMailerOptions(): MailerOptions { + return { ...mailerOptions }; +} + export function configureMailer(options: Partial): void { mailerOptions = { ...mailerOptions, ...options }; } @@ -64,14 +69,17 @@ export async function sendMail(payload: MailPayload): Promise { return; } - logToConsole(payload); + logToConsole(payload, mailerOptions.transport === 'console' && process.env.NODE_ENV === 'production'); } -function logToConsole(payload: MailPayload): void { - logger.info('[mailer] Email notification', { +function logToConsole(payload: MailPayload, omitBody = false): void { + const entry: Record = { from: mailerOptions.from, to: payload.to, subject: payload.subject, - body: payload.text, - }); + }; + if (!omitBody) { + entry.body = payload.text; + } + logger.info('[mailer] Email notification', entry); }