Catch-all email compared: Cloudflare, Google Workspace, Fastmail, Migadu and MarkRelay
What each provider means by catch-all, as its own documentation describes it, and the trade-off between catching every address and keeping misaddressed mail out.
- Published by
- MarkRelay Research
- Updated
- Sources
- 5 primary sources, linked below
Summary
Catch-all means different things across providers. Cloudflare Email Routing's catch-all rule sends every address on the domain, misspelled ones included, to one verified address or a Worker, or drops it. Google Workspace routes mail for unrecognized recipients to one user or group through an admin routing setting. Migadu delivers addresses that match no mailbox to a mailbox you choose, and Fastmail offers wildcard addresses of the form *@alias.domain. Plus addressing works on Cloudflare too: user+detail@ matches the rule for user@. MarkRelay uses the Cloudflare catch-all differently: one rule hands the whole domain to its Worker, mail for every mailbox you create is delivered with no new rule, and addresses without a mailbox are rejected rather than piled into one inbox.
Key findings
- 1Cloudflare: one catch-all rule per domain with three actions, send to an email, send to a Worker, or drop; plus addressing matches the base rule.
- 2Cloudflare also caps Email Routing at 200 routing rules per domain and 200 destination addresses per account.
- 3Google Workspace: an admin routing setting sends mail for unrecognized or catch-all recipients to an existing user, a new user or a Google Group.
- 4Migadu: catch-all is fallback delivery for addresses that match no mailbox, to a mailbox you choose.
- 5Fastmail: wildcard addresses *@alias.domain let you use any text before the @; plus and subdomain addressing work with existing aliases.
Questions this report answers
Asked by real people, quoted as they wrote them.
“Email hosting with **per-user** catch-all?”
r/webhosting, 10 comments
Of the docs checked, Fastmail's wildcard addresses come closest: *@alias.domain gives one user every address under that alias. Cloudflare, Workspace and Migadu document one catch-all per domain going to a single destination.
“One account multiple email domains?”
r/gsuite, 10 comments
In Workspace, up to 20 user alias domains are free and secondary domains cost a seat per user. In MarkRelay, each domain gets one catch-all rule to the same Worker and its own mailboxes, under one license.
“Am I thinking about Email Routing the right way?”
r/CloudFlare, 9 comments
A catch-all to your Gmail catches everything, including misspelled and spam addresses. A catch-all to a Worker lets code decide: MarkRelay accepts addresses that have a mailbox and rejects the rest.
“How I replaced Apple's Hide My Email with Cloudflare Email Routing inside browser extension”
r/CloudFlare
That pattern uses the catch-all as an alias generator: any address delivers. Cloudflare's plus addressing (user+detail@) gives a similar effect while matching the rule for user@.
Catch-all by provider
| Provider | How catch-all works | Destination | Per-user wildcards |
|---|---|---|---|
| Cloudflare Email Routing | One catch-all rule per domain; also drop | A verified address or a Worker | Plus addressing (user+detail@) |
| Google Workspace | Admin routing for unrecognized recipients | A user or a Google Group | Not stated |
| Migadu | Fallback for addresses with no mailbox | A mailbox you choose | Not stated |
| Fastmail | Wildcard address *@alias.domain | The user who owns it | Yes, *@alias.domain |
| MarkRelay | Cloudflare catch-all to its Worker | Each address's own mailbox; others rejected | One mailbox per address |
Cloudflare Email Routing
- How catch-all works
- One catch-all rule per domain; also drop
- Destination
- A verified address or a Worker
- Per-user wildcards
- Plus addressing (user+detail@)
Google Workspace
- How catch-all works
- Admin routing for unrecognized recipients
- Destination
- A user or a Google Group
- Per-user wildcards
- Not stated
Migadu
- How catch-all works
- Fallback for addresses with no mailbox
- Destination
- A mailbox you choose
- Per-user wildcards
- Not stated
Fastmail
- How catch-all works
- Wildcard address *@alias.domain
- Destination
- The user who owns it
- Per-user wildcards
- Yes, *@alias.domain
MarkRelay
- How catch-all works
- Cloudflare catch-all to its Worker
- Destination
- Each address's own mailbox; others rejected
- Per-user wildcards
- One mailbox per address
Not stated means the provider's own page does not cover it. Source: Cloudflare: addresses and catch-all, Workspace: catch-all mailbox, Migadu: catch-all, Fastmail: catch-all and wildcard.
Catch everything, or catch what you created
A catch-all that delivers every address into one inbox never loses a misspelled customer email, but it also collects every address spammers guess. The other approach routes the whole domain to software that knows which addresses exist.
That is how MarkRelay works. One catch-all rule hands the domain to the MarkRelay Worker, which checks each envelope recipient against your mailboxes before reading the message: an address with an active mailbox is delivered, and an unknown or disabled one is rejected with a permanent SMTP error, so the sender learns it bounced. Creating a new address is creating a mailbox in MarkRelay, with no Cloudflare rule to add, which also keeps you clear of Email Routing's 200-rule limit.
Where MarkRelay fits
A good fit when
- Many addresses per domain, added and removed often, without editing routing rules.
- Keeping guessed and misspelled addresses out of your inboxes.
Look elsewhere when
- Collecting mail for every possible address in one inbox: use a catch-all to one destination.
- Disposable alias addresses generated on the fly.
Common questions
Does Cloudflare Email Routing support catch-all?
Yes. The catch-all rule can send every address to a verified address or a Worker, or drop it.
What happens to unknown addresses in MarkRelay?
With a catch-all rule to the MarkRelay Worker, mail for an address without an active mailbox is rejected at SMTP time.
Sources and method
- Cloudflare: addresses and catch-all (developers.cloudflare.com/email-routing/setup/email-routing-addresses/)
- Cloudflare: Email Routing limits (developers.cloudflare.com/email-routing/limits/)
- Workspace: catch-all mailbox (knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox)
- Migadu: catch-all (www.migadu.com/guides/catchall/)
- Fastmail: catch-all and wildcard (www.fastmail.help/hc/en-us/articles/360060591053-Catch-all-addresses-and-wildcard-addresses)
Facts are taken from each vendor's own pricing pages, documentation or terms as of the updated date above; prices are in US dollars per month unless stated. Cost comparisons apply each vendor's published rates to the same volume. MarkRelay is not affiliated with the providers covered here;MarkRelay sells a self-hosted email app, which this page mentions where it fits. Spotted something outdated? Tell us.
Revisions
- : First published; every fact checked on the vendor's own pages.
Related guides
More research
- Team emailsite.support.google.com: Workspace shared inbox, delegation and collaborative inbox compared
- Email Routing and Sendingsite.cloudflare.com Email Routing: free custom domain email, and how to send
- Transactional emailsite.resend.com pricing: free plan, 3,000 emails and 100 a day
- Email marketing and SMTPsite.brevo.com pricing: free plan, 300 emails a day
- Custom domain emailsite.zoho.com Mail pricing: free plan for 5 users, and Mail Lite at $1
- Custom domain emailsite.fastmail.com pricing: custom domain email from $5 a month