@fonderie/courier
v5.0.0
Published
Transactional messaging for SaaS — multi-channel delivery (email, SMS, push) with FS or DB templates, per-message-type channel routing, and a persistent message log.
Maintainers
Readme
@fonderie/courier
Transactional messaging: one brick that delivers email, SMS, and push through pluggable channels, with templates resolved from the database or the filesystem and every send logged.
Install
npm install @fonderie/courierUse
import { FonderieApp, defineConfig } from '@fonderie/core';
import { CourierModule } from '@fonderie/courier';
const app = await new FonderieApp(defineConfig({}))
.register(new CourierModule())
.boot();import { EmailChannel, SmsChannel, PushChannel, DBTemplateResolver } from '@fonderie/courier';Delivery webhooks for SendGrid, Mailgun, and Mailtrap are handled by the
exported handle*Delivery functions; IMessageLog tracks status per send.
Why this exists
You've shipped this plumbing before — auth, teams, billing, messaging —
and the next project will ask for it again. Fonderie packages it once:
plain TypeScript modules for
@fonderie/core,
PostgreSQL-backed, self-hosted, MIT. No external control plane, no
per-seat anything. Register the modules you need; skip the ones you don't.
This package owns how the product speaks to humans. Outbound email, SMS, and push with templates and delivery logs — other bricks emit intents, this one delivers them.
Browse the whole set at fonderie-js/sdk · follow @fonderiejs
License
MIT © Fonderie, Inc.
