Email Routing forwards inbound mail into a Worker for free. MCPmailer is the mailbox, thread store, and MCP surface you would build behind it.
Transactional email APIs · Cloudflare Email Routing claims checked July 2026
Cloudflare Email Routing gives any domain on Cloudflare free inbound addresses that forward to a real mailbox or into an Email Worker, where you get the raw message in code. Paired with Cloudflare Email Service for sending, it is a very cheap two-way path.
If you are already living in Workers and want a receive-only hook at essentially no cost, Email Routing plus an Email Worker is hard to argue with. For internal alerting and small tools, use it and move on.
This is the cheapest possible starting point, and it is still only transport. You get a message in a Worker. You do not get a mailbox, a thread, a searchable history, per-agent keys, quotas that separate replies from cold outreach, or a dashboard. We are those things, running on the same class of infrastructure.
An Email Worker sees the message once. If you want to answer "what did we tell this customer in March", you are building storage, an index, and a retention policy. Ours keeps metadata in Postgres and raw MIME in R2, with full-text search across the workspace.
Routing is inbound. The moment your agent replies you are back to a sending domain, DKIM alignment, bounce handling, complaint feedback loops, and suppression. That is the half where reputations are lost, and it is not what Email Routing is for.
A Worker with a message in it is not an interface a model can use. You would write the MCP server, the tool schemas, the auth, and the error strings. That layer, and keeping it current with the spec, is the thing we maintain.
Every row is a claim we could defend with their documentation open beside it. Where they are ahead, the row says so.
Be honest about which of these you are doing.
Receive-only automation
Parse an alert, trigger a job, done. Email Routing is free and correct.
Anything that replies to a person
You now need a sending identity, suppression, and bounce handling. That is where this stops being free.
Anything a human must review
A dashboard over threads is not something you want to build in a Worker.
The application, MCP server, queues, and per-mailbox coordination run on Cloudflare; the mail path in both directions is SES. So the comparison is between using the raw pieces and using the product built from them.
For receiving, yes, cheaply. You will add a sending path, storage, threading, search, and an MCP server, at which point you have rebuilt this.
Routing is free on Cloudflare, which is exactly why it is worth comparing honestly rather than pretending it is not an option.
Not on its own. Replying means a sending path, which is Cloudflare Email Service or another provider, plus DKIM alignment, bounce handling, and suppression. That second half is where the work is.
Keep your transactional sender for the mail your product sends. This is for the addresses your agents converse from, which is a different job with different failure modes.
The free tier is 3,000 emails a month across three agent inboxes, no card, with receiving, threading, and search included. Enough to watch a real conversation happen before you decide.
More Transactional email APIs