Transactional email on Cloudflare
Flaresend documentation
One Worker in your Cloudflare account sends every email your apps need. Call it over REST from anywhere, or over RPC from other Workers, and get logs, retries, templates and webhooks with it.
npm install @flaresend/client
import { Flaresend } from '@flaresend/client';
const flaresend = new Flaresend({
apiKey: process.env.FLARESEND_API_KEY!,
baseUrl: 'https://mailer.example.com',
});
const { id } = await flaresend.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ada@example.com',
subject: 'Welcome to Acme',
template: 'welcome',
data: { name: 'Ada', appName: 'Acme', loginUrl },
});Send with your stack
All quickstartsWhat you can build
Read the guidesBatch sendingUp to 100 emails in one request, with per-item results.SchedulingSend up to 30 days ahead. Cancel or move it any time before.TemplatesReact Email templates in Git, and editable ones with versions.WebhooksSigned events for every step of delivery, retried for 24 hours.IdempotencyRetry any send without ever sending it twice.SuppressionsHard bounces and complaints are blocked automatically.DomainsSPF, DKIM and DMARC set up on your Cloudflare zones.BroadcastsSmall, opted-in lists with one-click unsubscribe.