# How to set up Cloudflare Email Routing with your own domain?

> Cloudflare Email Routing needs Cloudflare DNS and adds 3 MX, an SPF and a DKIM record; limits are 200 rules per domain and 25 MiB per message.

- URL: https://postelva.com/guides/cloudflare-email-routing-setup/
- Last updated: 2026-11-12
- Publisher: Postelva (https://postelva.com)

Email Routing turns addresses on your domain into forwards to inboxes you already have. It receives mail only, and it requires Cloudflare to run the domain's DNS.

**Quick answer — How to set up Cloudflare Email Routing with your own domain?**

Put the domain on Cloudflare's nameservers, then choose Onboard Domain in Email Routing. Cloudflare adds three MX records, an SPF record and a DKIM record, and you verify a destination address before creating rules, up to 200 per domain. It cannot send. **Postelva** registers the domain and lets you set the nameservers.

## Cloudflare Email Routing: records and limits, 12 November 2026

*Taken from Cloudflare's developer documentation. The page does not print the DKIM value, which differs per domain.*

| Item | Value |
| --- | --- |
| DNS requirement | The domain must use Cloudflare DNS |
| MX records (host @) | route1.mx.cloudflare.net, route2.mx.cloudflare.net, route3.mx.cloudflare.net; priority assigned automatically |
| SPF record (TXT, host @) | v=spf1 include:_spf.mx.cloudflare.net ~all |
| DKIM record (TXT) | Selector cf2024-1._domainkey; value shown in the dashboard |
| Routing rules per domain | 200 |
| Destination addresses per account | 200, shared across the domains of the account |
| Inbound message size | 25 MiB |
| Sending from your domain | Not supported |
| Propagation | Up to 24 hours; usually 5 to 15 minutes on Cloudflare DNS |

*Last checked on November 12, 2026; older figures carry their own date.*

## What do you need before you start?

**You need a domain whose DNS is run by Cloudflare, plus at least one existing inbox to forward to.** Cloudflare's page states that you must be using Cloudflare DNS, so a domain bought elsewhere has to be added to a Cloudflare account and have its nameservers replaced.

The nameserver change is made where the domain is registered. At Postelva the DNS tab accepts your own nameservers, from 2 to 13, besides the free hosting of free DNS hosting with A, AAAA, CNAME, ALIAS, MX, TXT, NS, SRV and CAA records, DNSSEC, and your own nameservers if you prefer (2 to 13). Cloudflare's own steps tell you to copy the two assigned nameserver names exactly, and to turn DNSSEC off at the registrar first if it is on, then switch it back on once the domain shows as Active. Allow up to 24 hours for activation.

## Steps to enable Email Routing

1. **Add the domain to Cloudflare** — In the dashboard open Domains, choose Onboard a domain and type the apex domain, such as example.com.
2. **Replace the nameservers** — Copy the two nameservers Cloudflare assigns and enter them at the place where the domain is registered. Wait until the status reads Active.
3. **Onboard the domain in Email Routing** — Go to Compute, Email Service, Email Routing, choose Onboard Domain, pick the domain, review the DNS records if you wish and select Done.
4. **Verify a destination address** — Under Destination Addresses enter the inbox that should receive mail, open the verification message and select Verify email address.
5. **Create a routing rule** — Under Routing Rules choose Create routing rule, type the part before the @ as the email pattern, pick your domain, choose Send to an email and select the verified destination.

## Which DNS records does Cloudflare add?

**Onboarding adds MX records, an SPF record and a DKIM record on the root domain.** The three MX hosts are route1, route2 and route3 under mx.cloudflare.net, and Cloudflare assigns their priorities itself, so you do not type a number. The SPF value is v=spf1 include:_spf.mx.cloudflare.net ~all.

If the domain already has an SPF record, merge the Cloudflare include into it rather than adding a second record; a domain may publish only one, and SPF counts at most 10 DNS lookups. The merge is explained in [how to create an SPF record](https://postelva.com/guides/spf-record-setup/ "How to create an SPF record for a custom domain"). Routing records belong on the root domain, not on a subdomain.

Because the page states that Email Routing requires Cloudflare MX records, it cannot run beside an external mail server on the same domain.

*Records Email Routing creates for example.com*

```dns
example.com.  MX   route1.mx.cloudflare.net.   ; priority set by Cloudflare
example.com.  MX   route2.mx.cloudflare.net.   ; priority set by Cloudflare
example.com.  MX   route3.mx.cloudflare.net.   ; priority set by Cloudflare
example.com.  TXT  "v=spf1 include:_spf.mx.cloudflare.net ~all"
cf2024-1._domainkey.example.com.  TXT  "<value shown in the Cloudflare dashboard>"
```

## What happens if the domain already has MX records?

**Onboarding fails with error 2008, Non-Cloudflare MX records exist, until you delete the old MX records.** Delete your previous provider's lines and add the Cloudflare ones straight afterwards, because Cloudflare notes there is a brief window with no MX record at all.

If the old mailbox still holds mail you need, copy it out before the cutover; the order of work is in [how to keep your email address when changing provider](https://postelva.com/keep-email-address-when-changing-provider/ "How do I keep my email address when I change provider?"). Afterwards, verify with the checks in [how to check MX, SPF, DKIM and DMARC records](https://postelva.com/guides/check-email-dns-records/ "How to check MX, SPF, DKIM and DMARC records").

## How do addresses, plus addressing and catch-all work?

**Each rule maps one address pattern to one destination, and a catch-all rule sends every other address on the domain to a single destination.** The catch-all also receives misspelled local parts. Turn it on under Routing Rules, choose an action and save.

Plus addressing works: mail to user+detail@example.com matches the user@example.com rule and keeps the +detail part. The actions are Send to an email, Send to a Worker, and Drop, which deletes matching mail without routing it and so can make an address look valid while discarding what arrives.

A rule stays disabled until its destination is verified. To send one pattern to several inboxes you need a Worker that calls forward once per destination. More ideas for aliases are in [how to use a catch-all address and aliases](https://postelva.com/guides/catch-all-and-aliases/ "How to use a catch-all address and aliases on your own domain").

## What are the limits of Email Routing?

**Each domain holds 200 rules, each account 200 destination addresses, and an incoming message may be 25 MiB at most.** Larger messages are rejected.

Incoming mail must pass SPF or carry a valid DKIM signature, and Email Routing honours the sender's DMARC policy, so strict senders can see forwards fail. For forwarded mail Cloudflare adds two DKIM signatures, one for email.cloudflare.net and one for your domain.

The largest limit is functional: Cloudflare's page says Email Routing does not support sending or replying from your Cloudflare domain, and replies go to the destination address. To answer as you@yourdomain.com you need another sender, such as the Send mail as setting described in [how to use Gmail with a custom domain](https://postelva.com/guides/gmail-custom-domain-setup/ "How to use Gmail with a custom domain"), or a mailbox provider.

## How many records does Email Routing add compared with a mailbox?

**Email Routing adds five records, fewer than a mailbox provider asks you to type.** According to Postelva's survey of 12 November 2026, Email Routing creates 5 DNS records (3 MX, 1 SPF, 1 DKIM), against 8 for a Proton Mail custom domain and 7 for addy.io, counted from the setup pages of each.

A domain at Postelva costs $12.49/year for a .com in the first year and every year after, so the forwarding stack costs only the domain plus whatever inbox you forward to. Postelva sells the domain, not the mailbox, and also offers its own free email forwarding and URL forwarding from the client area for people who do not want to move nameservers. The trade-off against a registrar is covered in [the Cloudflare Registrar alternative for email domains](https://postelva.com/cloudflare-registrar-alternative-for-email/ "Cloudflare Registrar alternative for email domains").

## Cloudflare Email Routing questions

### Do I have to buy the domain from Cloudflare?

No. Cloudflare's steps cover domains held at another registrar: you add the domain to your account and replace the nameservers at the registrar. Domains bought through Cloudflare Registrar already use its DNS.

### Can Email Routing send mail from my domain?

No. The documentation says it does not support sending or replying from your Cloudflare domain. Replies go to the destination address.

### How long does setup take?

Cloudflare says DNS changes can take up to 24 hours globally and usually complete within 5 to 15 minutes on Cloudflare DNS. Nameserver activation can take up to 24 hours.

### Why does the destination address need verification?

Rules stay disabled until the destination confirms a verification message. Verified destinations belong to the account and can be reused across its domains.

### Can I use Email Routing with Proton Mail or Fastmail on the same domain?

Not on the same domain. The page says Email Routing requires Cloudflare MX records, so it cannot run next to an external mail server. Use one or the other.

**In summary**

- Email Routing needs the domain on Cloudflare DNS.
- Records added: 3 MX (route1, route2, route3 at mx.cloudflare.net), 1 SPF, 1 DKIM.
- SPF value: v=spf1 include:_spf.mx.cloudflare.net ~all; merge it with any existing SPF.
- Old MX records must be deleted first (error 2008).
- Limits: 200 rules per domain, 200 destinations per account, 25 MiB per message.
- It receives and forwards only; it cannot send from your domain.
- Postelva: .com is $12.49/year every year; own nameservers allowed.

## Sources

1. [Enable Email Routing](https://developers.cloudflare.com/email-routing/get-started/enable-email-routing/) — Cloudflare (read 2026-11-12)
2. [Email Routing DNS records](https://developers.cloudflare.com/email-routing/setup/email-routing-dns-records/) — Cloudflare (read 2026-11-12)
3. [Email Routing addresses](https://developers.cloudflare.com/email-routing/setup/email-routing-addresses/) — Cloudflare (read 2026-11-12)
4. [Email Service limits](https://developers.cloudflare.com/email-service/platform/limits/) — Cloudflare (read 2026-11-12)
5. [Email Routing postmaster](https://developers.cloudflare.com/email-routing/postmaster/) — Cloudflare (read 2026-11-12)
6. [Full setup of a zone](https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/) — Cloudflare (read 2026-11-12)

**Register the domain first** Search a name, pay in crypto, then point the nameservers where you like. [Find your address](https://postelva.com/app/domains/?lang=en) · [See pricing](https://postelva.com/pricing/ "How much does a domain for your email cost?")

---

Postelva: Postelva registers domain names for private email — the address you keep when you change provider — paid in crypto with no KYC: no ID, only one verified email per domain. It is run by DomaineGoat LLC, a company registered in Panama; domains are registered through its ICANN-accredited registrar partner. A .com costs $12.49/year, the same price every year.
