Skip to content
THE STACK & WHAT IT COSTS

Every line item, in dollars.

A Resend-style email platform turns out to be eleven Cloudflare products wired together. Here is what each one does, what Cloudflare charges for it, and what your bill looks like at 10,000, 100,000 and a million emails a month — with the SaaS list prices next to it.

Cloudflare products MailySend runs on, what each does, and what it costs
CLOUDFLARE PRODUCTWHAT IT DOES HEREWHAT IT COSTS
WorkersThe API itself: auth, validation, rate limits, template render, webhook fan-out$5/mo · 10M req incl.
then $0.30/M
Email Service (send)Outbound delivery, DKIM signing, SPF/DMARC set up automatically3,000/mo incl.
then $0.35/1k
Email Routing (receive)Inbound catch-all into a Worker, 25 MB per messageFree
QueuesThrottling, retries, dead-letter queue for batches and broadcasts$0.40 / M ops
1M free/mo
Durable ObjectsPer-domain sender state, scheduling alarms, broadcast progress, mailbox threadsIncluded in Workers Paid
then per req + duration
D1Contacts, audiences, segments, templates, message index25B reads/mo incl.
$0.75/M writes over
KVSuppression list and API-key cache — read on every single sendIncluded
cents at this scale
R2Attachments, raw MIME archive, event exports — zero egress fees$0.015/GB-mo
no egress charge
WorkflowsAutomations: multi-day drips, branching, durable retriesBilled as Workers
requests + CPU
Analytics Engine + AccessEvent stream behind every chart; SSO in front of the dashboardIncluded
with Workers Paid

Cloudflare Email Sending entered public beta in April 2026: it requires a Workers Paid plan ($5/month minimum), includes 3,000 emails per account per month, and charges $0.35 per 1,000 after that. Inbound Email Routing stays free. Rates shown are Cloudflare's list prices at time of writing — check their pricing pages before you budget.

CALCULATOR

What will you actually pay?

Drag to your monthly volume. MailySend runs in your own Cloudflare account, so your bill is Cloudflare's list prices. The others are published plan rates for the same volume.

100,000 emails/mo

MAILYSEND + SES
$16.20
$5 Workers + $0.10/1k · one config line
MAILYSEND + CLOUDFLARE
$40.15
$5 Workers + $0.35/1k over 3,000 · no second account
RESEND
$90.00
Free → Pro → Pro 100k → quote
SENDGRID
$60.00
≈$0.60 per 1,000

Same product either way — same API, same logs, same analytics, same inbound. The backend is one line of configuration, and you can change it later. Amazon SES on its own is ~$0.10 per 1,000 plus your own infrastructure: no dashboard, no event timeline, no inbound, and CloudWatch for analytics. How providers work →

WORKED EXAMPLES

Three real shapes of bill

SIDE PROJECT

10,000 emails

Workers Paid
$5.00
7,000 emails @ $0.35/1k
$2.45
D1 · KV · R2 · Queues
$0.00
Self-hosted total
$7.45
Resend Pro
$20.00
GROWING SAAS

100,000 emails

Workers Paid
$5.00
97,000 emails @ $0.35/1k
$33.95
D1 writes, R2 25 GB, Queues
≈$1.20
Self-hosted total
≈$40
Resend Pro 100k
$90.00
AT SCALE

1,000,000 emails

Workers Paid
$5.00
997,000 emails @ $0.35/1k
$348.95
Storage, queues, analytics
≈$9
Self-hosted total
≈$363
Or route via SES provider
≈$115
ONE MILLION TRANSACTIONAL EMAILS · MONTHLY LIST PRICE
SES provider≈$115
MailySend on CF≈$363
SendGrid≈$600
Resend≈$650
Postmark≈$1,206

Competitor figures are published list prices for one million transactional emails, gathered September 2026; volume discounts and annual commitments change them. Deliverability, not price, should still be your first filter — which is why every number here comes with the analytics to check it.

Keep the Worker warm

MIME parsing on a cold path is the most common CPU-time surprise. We batch parse and cache templates in KV.

Batch your D1 writes

One row per event gets expensive fast. Events land in Analytics Engine; D1 only holds state you query.

Lifecycle your R2 bucket

Attachments and raw MIME move to infrequent-access on your retention window automatically.

Set a budget alert

The deploy script sets a Cloudflare notification at 2× your expected spend, plus a hard send cap you control.

Run it yourself in about a minute.

One command provisions the whole stack in your account. MIT licensed, no key to ask us for, no bill from us at all.