Cloudflare · Email Routing · Setup

Cloudflare Email Routing: a one-way mirror for your domain's mail

First published 20 October 2026 · Mechanics and limits from Cloudflare's current Email Service documentation (the product now lives under Compute → Email Service → Email Routing) and its ARC announcement. Dashboard screenshots for this one can be ours — merroway.tech's own zone (see the image note in §Sources).

The setup ladder

  1. Add destination addresses first (Email Routing → Destination addresses): each real mailbox you forward to must verify via a confirmation email. Cap: 200 destinations per account.
  2. Enable Email Routing on the domain. Cloudflare installs the record set below — first confirming the domain has no conflicting mail setup (its words: “Cannot use Email Routing with external mail servers”).
  3. Create routing rules: custom addresses (info@, sales@, per-person) → destinations, up to 200 rules per domain, one destination per rule (an Email Worker using forward() is the documented fan-out for multiples). Add the catch-all rule if you want every other local part delivered too.
  4. Read the records back (§table) — they're Locked after onboarding; you unlock them only through Email Routing Settings, and disabling routing deletes all three groups.
  5. Publish your DMARC if you haven't: routing installs no _dmarc — DMARC remains the owner's job (Cloudflare's DMARC Management is the watching tool, Article #41).
Installed by routingValuePurpose
MX ×3route1/route2/route3.mx.cloudflare.net (priorities auto-assigned)Your domain's mail now arrives at Cloudflare
TXT (SPF) at @v=spf1 include:_spf.mx.cloudflare.net ~allAuthorises Cloudflare's forwarding envelope (§Auth)
TXT (DKIM) at cf2024-1._domainkeyCloudflare-provided keyPer Cloudflare's docs: “authentication for routed/forwarded emails” — note the docs never spell out a signing-header step beyond that wording; we quote it rather than embellish it

§Auth — what happens to a message, stage by stage

StageDocumented behaviour
ReceiptCloudflare evaluates SPF/DKIM/DMARC/ARC and rejects mail that fails the sender's DMARC policy (plus blocklist rejections). Your forward is protected by the sender's enforcement — most owners never realise routing enforces for them
ForwardingCloudflare's lifecycle text, verbatim: it “adds an ARC seal preserving the original authentication results and rewrites the envelope sender using the Sender Rewriting Scheme. This allows SPF to pass at the destination server.” The SRS envelope is at your routing domain — which is exactly what the installed SPF record authorises
At your mailboxThe message arrives with original headers/body preserved, so the sender's own DKIM can still verify; DMARC for the sender's domain at your mailbox therefore passes (if at all) via DKIM, vouched by the ARC seal Gmail/Microsoft read

The two-verdict puzzle, solved: Cloudflare's activity log can show a message's DMARC as judged at receipt, while your mailbox shows the same message judged on arrival (post-SRS envelope, DKIM-carried). Different inputs, different verdicts, both honest. When a forwarded message lands in spam, debug with the arrival-side headers (Article #12's method), not the log alone.

Sending as the domain — your actual options

NeedRoute
Humans replying/sending as info@A mailbox provider on the domain (Workspace/M365/iCloud+ — Articles #41–#45). This replaces routing: one MX master per domain
App/website transactional mailAn ESP (SendGrid/SES class, Articles #31/#32), usually on a subdomain (Article #40)
Developer sending, Cloudflare-nativeEmail Sending — Cloudflare's separate product (Workers binding/REST/SMTP). Arbitrary-recipient sending needs Workers Paid (3,000/mo included, then $0.35/1,000); sends to your own verified destinations are free on any plan. It is not a Routing upgrade toggle; it's a second product
“Send as” alias in Gmail over routingA common hack (Gmail's send-as via your real provider's SMTP) — works only if you HAVE a sending service behind it; routing itself contributes nothing to the send

Limits (Cloudflare's limits page)

Traps

TrapReality
Publishing addresses before planning repliesCustomers reply to info@; your answer leaves from a personal Gmail and the thread's professionalism (and SPF) collapses. Plan the send half first (§Sending)
Enabling routing on a domain with a real mail hostIt replaces the MX — the M365 collision from Article #41, now from the other side. One domain, one inbound master
Debugging from the activity log onlyTwo verdicts exist (§Auth). The destination mailbox's headers decide spam placement
Expecting storage/searchRouting holds nothing. If the destination mailbox loses it, it's gone — routing is a mirror, not a copy

FAQ

Does routing hurt my domain's sending reputation?

Routing never sends as your domain, so there's no sending reputation to hurt. Your published SPF authorises Cloudflare for the forwarding envelope — expected, and exactly what the installed record is for.

A sender says their mail to me bounced “DMARC”.

That's receipt-stage enforcement doing its job: their mail failed their own domain's DMARC policy. The fix lives on their side (this entire site, essentially) — send them the relevant guide.

Can a rule forward to two people?

One destination per rule in the UI; the documented fan-out is an Email Worker calling forward() per address — a small developer step, free tier included.

Sources

Cloudflare Email Service documentation — Email Routing (setup, records, Locked state, external-server exclusion) · Email lifecycle page (receipt checks; SRS + ARC sentence verbatim) · Limits page (200/200/30; 25 MiB) · Email Sending/pricing pages (separate-product scope) · Cloudflare ARC announcement blog · Packs #41/#42 (the cf2024-1 record, DMARC Management).

Verification note: mechanics and limits confirmed from Cloudflare's current documentation on 20 October 2026. Two popular claims are deliberately absent: legacy route hostnames (isaac/linda/amir) appear in no current doc, and a circulating “forwards silently fail without sender auth since June 2025” claim has no official corroboration — the documented gate is DMARC enforcement at receipt.