Skip to content

fix(email): replace nodemailer SMTP with Brevo HTTP API#6

Merged
BODMAT merged 1 commit into
masterfrom
fix/email-brevo-api
May 21, 2026
Merged

fix(email): replace nodemailer SMTP with Brevo HTTP API#6
BODMAT merged 1 commit into
masterfrom
fix/email-brevo-api

Conversation

@BODMAT

@BODMAT BODMAT commented May 21, 2026

Copy link
Copy Markdown
Owner

Problem

SMTP connections on port 587 time out on Render - the hosting provider
blocks outbound SMTP traffic, so nodemailer never reaches any relay server.

Solution

Replace the SMTP transport with Brevo's transactional email API, which
runs over HTTPS (port 443). No SMTP credentials needed.

Changes

  • emailService.ts: remove nodemailer, send via fetch to Brevo API
  • test env: in-memory capture without any transport (same interface)
  • package.json: remove nodemailer and @types/nodemailer
  • .env.example: replace SMTP_* vars with BREVO_API_KEY and EMAIL_FROM

SMTP connections to port 587 are blocked on Render. Switch to Brevo
transactional API over HTTPS instead. Remove nodemailer dependency.
Test env keeps an in-memory capture without any transport.
@BODMAT BODMAT merged commit 73f3808 into master May 21, 2026
1 check passed
@BODMAT BODMAT deleted the fix/email-brevo-api branch May 21, 2026 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant