Back to blog
By AllMail Team 7 min read

DIY Catch-All Email with Cloudflare vs a Managed Service

An honest walkthrough of building your own catch-all: Cloudflare Email Routing, self-hosted mail servers, the real cost and time math, and when each approach actually makes sense.

  • catch-all email
  • Cloudflare
  • self-hosted
  • DIY
  • mail server

“Why would I pay for this? Cloudflare does catch-all email routing for free.”

It is the most common objection in every thread on this topic, and it deserves a straight answer rather than a sales pitch. The short version: the DIY path genuinely works, it is nearly free, and for a real set of use cases it is the right choice. It also has specific limitations that bite the moment you point automation at it. Here is what each route involves.

Route 1: Cloudflare Email Routing

Cloudflare Email Routing is a free feature on any domain using Cloudflare DNS. Point your domain’s nameservers at Cloudflare, open Email Routing, verify a destination inbox, flip the catch-all rule on. Cloudflare adds the MX and SPF records for you. Under ten minutes, and mail to anything@yourdomain.com lands in your Gmail.

For personal use — per-service aliases, a contact address, keeping your real inbox off web forms — this is excellent and there is no reason to pay for an alternative.

Where it stops working for automation

It is forwarding, not a mailbox. Everything else follows from this. Cloudflare does not store your mail; it relays it to a destination you own and forgets about it. No mailbox means no POP3 or IMAP endpoint. Your tool cannot poll Cloudflare — only wherever Cloudflare forwarded to.

So you are actually polling Gmail. And Gmail is not built to be an automation endpoint for thousands of throwaway registrations. In practice you hit:

  • Filing behaviour. Forwarded mail from unfamiliar senders lands in Spam or Promotions with some regularity. Your tool polls INBOX and sees nothing — the link was delivered and filed where your poll does not look.
  • Rate and volume limits. Google caps IMAP connections, requests and account throughput. A tool polling hard across thousands of messages will find them.
  • Forwarding loss. Each extra hop is another chance for a reputation check to drop the message, and forwarding breaks alignment for some authentication checks.
  • One inbox, one namespace. All addresses collapse into one Gmail account. Multiple projects sharing a mailbox is workable with filters, but “workable with filters” is load-bearing at volume.
  • Terms. A consumer Gmail account is not meant to be a high-volume automated receiving endpoint, and suspension is a real if uncommon outcome.

Cloudflare has its own limits too. Email Routing caps rules and addresses, requires a verified destination, and is explicitly a routing product. Treating it as a mailbox is the mistake, not a flaw in the product.

Cloudflare Email Workers are a partial workaround — run code on inbound mail and write it to storage instead of forwarding. A real option, but no longer a ten-minute setup, and your tool still cannot speak POP3 to it unless you build that part too.

Route 2: Self-hosted mail server

The full DIY path: a VPS, a mail stack (Postfix or an all-in-one distribution, Dovecot for IMAP/POP3), TLS certificates, and your own MX records. This gives you everything the Cloudflare route lacks — real mailboxes, real POP3 and IMAP on standard ports, unlimited addresses, full control over retention, nobody’s terms of service to think about.

What it costs you is not money. It is this list:

IP reputation. The hard part, and mostly outside your control. Cheap VPS providers hand out IPs from ranges that already carry history; some are on blocklists before you boot the machine. Check before committing, but you are still starting with someone else’s reputation.

DNS records. Your IP needs a reverse DNS (PTR) record matching your mail hostname — receiving servers check it, and a mismatch is an instant credibility problem. Correct SPF, DKIM and DMARC records matter too, even on a receive-mostly domain. Also check whether your provider blocks outbound port 25 before paying for a year.

Ongoing maintenance. Security updates on an internet-facing mail server are not optional. Certificate renewal, backups, monitoring so you learn the server is down before your campaign does. And disk filling with spam — a catch-all under automation load accumulates junk fast, and nobody enjoys discovering that via a full disk at 2am.

Blocklist monitoring. Point automation at a domain and it will eventually get listed. On DIY, noticing is a manual task you have to remember, and recovering means registering and provisioning a fresh domain by hand. See Email Blacklists and Link Building for why this is routine rather than an edge case.

None of this is beyond anyone who runs servers. It is a weekend to get right and a background tax after that.

The actual cost math

A domain runs roughly $10-15/year; Cloudflare routing and Gmail are free; a VPS is $5-10/month. Managed pricing here is $0.49/month for a shared subdomain (500 messages/day cap), or $3.59 (.xyz) / $4.49 (.one) / $6.29 (.com) per month for a dedicated domain with the registration included.

Cloudflare + GmailSelf-hosted VPSManaged
Cash per year~$12~$70-135~$6-76
Setup time~30 minA weekendMinutes
Ongoing time~0Hours/month~0
POP3 / IMAPNoYesYes
Unlimited addressesEffectivelyYesYes
Mailbox on the receiving endNo (forward only)YesYes
IP reputationGoogle’sYours to earnProvider’s
Blocklist monitoringManualManualAutomatic
Fast domain replacementRe-register, re-configureRe-register, re-configureBuilt in

The interesting number is not the cash — self-hosting costs more cash than a managed dedicated domain in most configurations. What DIY buys is control, and what it costs is your time.

DIY makes sense when…

Genuinely, no strawmen:

  • You are doing personal aliasing, not automation. Cloudflare Email Routing to Gmail is the correct answer. Do not overthink it.
  • Volume is low. A few dozen registrations, polled gently. Forwarding to Gmail holds up fine.
  • You already run mail infrastructure. If Postfix and Dovecot are in your stack and you have a clean IP with good rDNS, adding a catch-all domain is marginal work. Just do that.
  • You want full control of retention and content, or learning is the point — running your own mail server teaches you more about email than any article will, including this one.

Managed makes sense when…

  • Your tool needs POP3 or IMAP and you do not want to build the mailbox layer. The biggest dividing line. If your automation polls a mailbox, Cloudflare does not supply one and self-hosting makes you a mail administrator.
  • Volume is high and Gmail filing would eat your verifications. Losing 20% of confirmation links to a spam folder is invisible in your logs and expensive in your results.
  • You need to rotate domains. Under load, domains get listed and need replacing — register, configure DNS, wait for propagation, reconfigure the tool. An hour each time, so provisioning in minutes plus monitoring that tells you when is most of the value.
  • You want separate domains per client, or your time is simply worth more than the difference. At $3.59-$6.29/month per domain, one hour saved a month pays for several.

The honest conclusion

The DIY path works. If you are aliasing personal email, use Cloudflare Email Routing and skip everything else here. If you enjoy running infrastructure and have a clean IP, self-host — you will end up with something better than any managed offering, tuned exactly to you.

Where DIY stops being cheaper is high-volume automation: the moment you need a real mailbox your tool can poll, need it to survive thousands of registrations, and need a fast recovery path when a domain gets blocklisted. At that point you are not comparing $12/year against $43/year — you are comparing a weekend plus a monthly maintenance habit against a few dollars.

Our own service sits at exactly that dividing line: dedicated catch-all domains with POP3 (110/995) and IMAP (143/993) at mail.allmail.one, unlimited inboxes, DNS auto-provisioned in minutes, DNSBL monitoring with domain replacement, 14-day retention, and crypto payment (USDT/USDC on TRC-20, BEP-20 or Polygon) with no KYC. If the list above described your situation, that is what it is for. If it did not, Cloudflare is free and you should use it.