From a32d5688c4e526a9d085d177f51719d8604d2124 Mon Sep 17 00:00:00 2001 From: Bas van den Aakster Date: Sat, 13 Sep 2025 15:56:25 +0200 Subject: [PATCH] Make mailer transport config optional, use Payload config fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated MailingService to check for Payload's email transporter when plugin transport is not configured - Enhanced error message to indicate transport is required in either plugin or Payload config - Bump version to 0.0.5 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- package.json | 2 +- src/services/MailingService.ts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 5fa343b..78ea16c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xtr-dev/payload-mailing", - "version": "0.0.4", + "version": "0.0.5", "description": "Template-based email system with scheduling and job processing for PayloadCMS", "type": "module", "main": "dist/index.js", diff --git a/src/services/MailingService.ts b/src/services/MailingService.ts index 3f80713..a388ae2 100644 --- a/src/services/MailingService.ts +++ b/src/services/MailingService.ts @@ -38,10 +38,13 @@ export class MailingService implements IMailingService { if ('sendMail' in this.config.transport) { this.transporter = this.config.transport } else { - this.transporter = nodemailer.createTransport(this.config.transport as MailingTransportConfig) + this.transporter = nodemailer.createTransporter(this.config.transport as MailingTransportConfig) } + } else if (this.payload.email) { + // Use Payload's configured mailer + this.transporter = this.payload.email } else { - throw new Error('Email transport configuration is required') + throw new Error('Email transport configuration is required either in plugin config or Payload config') } }