The shape of the market
The transactional email market has converged on roughly four pricing tiers. The first tier is the SaaS-with-free-quota cluster — Resend, Mailgun, Postmark — where the headline number is "3,000 free sends per month" and the metered rate kicks in above that. The second tier is the hyperscaler — Amazon SES, SendGrid — where the per-email cost is fractions of a cent but the unit economics depend on whether you commit to a dedicated IP. The third tier is the SMTP-relay-plus-package — Mailgun Flex, Postmark Production — where the price tag is a flat monthly fee that includes a committed volume. The fourth tier, which is the new entrant in 2026, is Cloudflare Email Services priced per email on top of the Workers you already pay for.
What changed over the last year is that Email Services moved out of beta and into per-email billing at roughly $0.09 per 1,000 emails on the Workers paid plan, with the first 3,000 sends per month included free on every zone. That is competitive against SES (which charges about $0.10 per 1,000 from a shared IP) and meaningfully cheaper than Resend's $0.40 per 1,000 above the free tier, with the structural difference being that Cloudflare charges for the wire while you already own the sending infrastructure underneath.
What you actually pay for with Cloudflare Email Services
Cloudflare Email Services charges per email sent. There is no subscription, no per-domain fee, no separate log retention product, and no "Pro" plan you have to upgrade to unlock DKIM. DKIM, SPF, and the receiving MX are all part of the same primitive. The per-email price includes that signing and the bounce handling that comes through Email Routing on the same zone. The cost you do pay, separately, is the Worker that sits in front — either as Workers Bundled (the $5/month Workers Paid plan) or as Workers Unbound with per-request + per- CPU-millisecond pricing.
For most teams sending under 100,000 transactional emails per month, the shape is straightforward: $5 for the Workers paid plan, plus roughly $0.09 per thousand emails above the first 3,000. That puts 50,000 sends at about $9.50 per month total, and 500,000 sends at about $50 per month. The same volume on Resend is roughly $20 and $200 respectively. On Mailgun Foundation it is roughly $35 and $245. SES sits closest at roughly $5 and $50, but with the caveat that you carry your own deliverability work and your own IP warmup.
The hidden costs that make "cheap" expensive
The number on the pricing page is rarely the number on the invoice. The first hidden cost is the dedicated IP: SES charges $24.95/month for it, Postmark bundles it into the $75/month Production plan, Resend does not sell dedicated IPs at all. The second is verified custom domains — most providers count a "domain" as one billing unit and charge extra for additional sending identities. The third is event webhooks: some providers meter inbound events, some meter suppression list lookups, some meter log retention beyond 30 days.
The Cloudflare shape collapses most of these line items. The domain lives on a Cloudflare zone you almost certainly already pay for. Webhooks are outbound from the Worker — billed as one Workers request, not as an event-tier line on a separate invoice. Log retention is whatever you choose to keep in D1 (which has its own free tier: 5 million row reads and 100,000 row writes per day on the free plan). The cost you do not see is the engineering time to wire the integration, which is exactly the cost Flowmails exists to remove.
The TCO at 50,000 and 500,000 sends per month
For a single domain, single region, single app, no dedicated IP, the monthly bill at 50,000 transactional sends shakes out roughly like this: SES shared IP around $5, Cloudflare Email Services on Workers Bundled around $9.50, Resend around $20, Mailgun Foundation around $35, Postmark Production around $75 (with 45,000 sends you do not use). At 500,000 sends the spread widens: SES still around $50, Cloudflare around $50, Resend around $200, Mailgun around $245, Postmark around $400+ once you exceed the included volume.
The reason Cloudflare and SES end up at the same number is not that Cloudflare copied SES — it is that both have essentially zero variable overhead beyond the per-email line. SES wins at truly enormous volumes because of its commitment discounts; Cloudflare wins below 5 million sends per month because the fixed cost is $5, not $24.95 for a dedicated IP. The Cloudflare Email Routing alternative breakdown has more numbers in it if you want the long table.
Where Flowmails sits in this
Flowmails runs on top of Cloudflare Email Services, so the per-email cost is identical to going direct — $0.09 per 1,000 above 3,000 free, billed by Cloudflare. The pricing is split into two plans: Base at $0/month with one domain and one Worker (enough to ship a side project or a v0 of a startup product), and Pro at $9.9/month with five domains, multiple Workers, AI draft, webhook fan-out, and the SDK surface. The Cloudflare bill for sending and D1 usage is passed through at cost on every plan — there is no margin on the email volume itself.
What you are paying Flowmails for is the dashboard, the REST API, the route tables, the inbox UI, the SDK, and the onboarding that provisions the Worker in your own Cloudflare account. That is the line item that compares against the engineering time of wiring it up yourself, not against the email line item. Most teams who have tried to build the integration in-house come back to the Flowmails pricing page within a week because the math on engineering hours is the dominant cost, not the per-email cents.
A practical decision rule
If you are below 3,000 emails per month and your domain is already on Cloudflare, Email Services is the obvious answer — the cost is zero beyond the $0 of the Workers free plan. If you are between 3,000 and 100,000 and you do not want to write a Worker, Flowmails Base is the cheapest path that still includes the inbox UI. If you are between 100,000 and 5 million and the engineer time is the dominant cost, Flowmails Pro at $9.9/month buys back weeks of integration work. Above 5 million per month you should compare Cloudflare directly against SES with commitment discounts — at that scale the per-email line is all that matters.