Published Updated
How to Set Up a Catch-All Email: Workspace, cPanel, and More
To set up a catch-all email, point your domain’s MX records at a mail service that offers one, turn on its catch-all rule, and choose the mailbox that should get mail sent to addresses that don’t exist. Every host names the setting differently: a routing rule in Google Workspace, Default Address in cPanel, Mail bounce settings in Plesk, Catch-all Address in Zoho Mail, and an address written as * at IONOS, Squarespace, and ImprovMX. Some services, including DreamHost, Porkbun’s forwarding, and Microsoft 365, have no catch-all at all.
The steps below come from each provider’s own help pages, checked on September 25, 2026. Each section links to its source in case a label has moved since. Once the mail arrives, CatchNone can read the catch-all inbox on iPhone, iPad, and Mac and file each message under the address it was sent to.
Where to set up a catch-all email at each host
| Service | Catch-all? | What the setting is called | Where the mail goes |
|---|---|---|---|
| Google Workspace | Yes | A Gmail routing rule, or Default routing | A user mailbox or a Google Group |
| cPanel hosts | Yes, unless the host turns it off | Default Address | A mailbox or a forward |
| Plesk | Yes | Mail bounce settings → Forward to address | One address |
| Zoho Mail | Yes (free plan unconfirmed) | Catch-all Address | A user or group mailbox |
| IONOS | Yes, on Mail Basic and Mail Business | A mailbox named *@example.com |
That mailbox |
| Titan | Yes | Catch-all Email | An existing mailbox |
| Hostinger Email | Yes, one per domain | Create catch-all (or Catch-all email) | An existing mailbox |
| GoDaddy | Yes, on Professional Email only | A catch-all toggle on one user | That user’s mailbox |
| Migadu | Yes | The catch-all setting in the domain’s submenu | A mailbox |
| Proton Mail | Yes, on paid plans | Set catch-all | An address on your domain |
| Fastmail | Yes | A *@example.com alias |
Your Fastmail mailbox |
| iCloud+ | Yes | Allow All | Your iCloud Mail |
| Namecheap | Yes, with free Email Forwarding | Add catch all | Forwarded to one address |
| Squarespace Domains | Yes | A * forwarding rule |
Forwarded to one address |
| ImprovMX | Yes, by default | The * alias |
Forwarded to your inbox |
| Cloudflare | Yes | Catch-all rule | Forwarded, sent to a Worker, or dropped |
| DreamHost | No | n/a | Plus addressing instead |
| Porkbun forwarding | No | n/a | Separate forwards only |
| GoDaddy Email Forwarding | Not documented | n/a | Separate forwards only |
| Microsoft 365 | No | n/a | Unknown addresses bounce |
| OVHcloud | Not documented | n/a | Per-address redirections |
Before you start
- MX records that point at the service with the catch-all. They decide which service receives your domain’s mail. A domain has one set, so that service gets mail for every address on it; a subdomain such as
shop.example.comcan have its own. Check them withdig MX example.com +shorton a Mac or Linux, ornslookup -type=mx example.comon Windows. - Somewhere for the mail to land. A mail host delivers to a mailbox you can open. A forwarder (Namecheap, Squarespace, ImprovMX, Cloudflare) has no mailbox and passes the mail on to an inbox you already have.
- A plan for spam. Hostinger suggests pointing a catch-all at a dedicated mailbox rather than your main inbox, because catch-alls “collect a lot of spam by nature”.
Set up a catch-all email in Google Workspace
Google Workspace (formerly G Suite) offers two ways to do it. Google’s catch-all article now uses a Gmail Routing rule (Method 1). Default routing (Method 2), which Google still documents, also works. The steps below follow Google’s help pages as updated on September 18, 2026. First, decide which account gets the mail: an existing user, a new user, or a Google Group.
Method 1: a Routing rule (Google’s current method)
- In the Google Admin console, go to Menu → Apps → Google Workspace → Gmail → Routing. You need the Gmail Settings administrator privilege.
- On the Routing tab, scroll to Routing and click Configure, or Add Another Rule if you already have one.
- Enter a name. Google won’t save the setting without one.
- Check Inbound messages.
- Under Action, choose Modify message, check Change envelope recipient, select Replace recipient, and enter the catch-all address.
- Click Show more options. Under “Select all account types this action applies to”, check All inactive and unrecognized accounts, and make sure Archive accounts with assigned delegate is also checked. Active user account and Group account must stay unchecked.
- Click Save.
To turn it off later, point at the rule and click Disable or Delete (Google’s catch-all article). Two optional Modify message settings in Google’s routing reference make the mail easier to sort. Add X-Gm-Original-To header records the address the message was sent to. Prepend custom subject can tag each message, for example with [catch-all].
Method 2: Default routing
- In the Admin console, go to Menu → Apps → Google Workspace → Gmail → Default routing and click Configure, or Add Another Rule if you already have one.
- Under “Specify envelope recipients to match”, choose All recipients.
- Under Envelope recipient, check Change envelope recipient, select Replace recipient, and enter the catch-all address.
- Under Options, select Perform this action only on non-recognized addresses.
- Save, then check that the rule appears in the Default routing table.
Step 4 is what makes it a catch-all. All recipients matches every address on your domain, so the other choice, Perform this action on non-recognized and recognized addresses, would redirect your real users’ mail too (Google’s Default routing article). Use Change envelope recipient, not Add more recipients, which delivers the message to extra recipients instead of redirecting it.
User or group?
A Google Group lets several people read the catch-all, but a group isn’t an account anyone signs in to, so a mail app can’t open it over IMAP. If you want to read the mail outside Gmail, deliver it to a user. If you use a group, check two of its group settings. Who can post decides whether outside senders reach the group, and catch-all mail comes from outside. Under Spam message handling, Reject all messages marked as spam turns suspected spam away.
Google Workspace catch-all not working? Test and fix it
Send a message from an account outside your domain to an address that doesn’t exist, such as test-4821@example.com. If nothing arrives:
- Wait. Google says routing changes can take up to 24 hours and new MX records up to 72 hours. The MX value is
smtp.google.com; domains set up before 2023 may use olderaspmxvalues, which still work. - Clear a legacy catch-all. A 2017 migration gave some domains a catch-all address with no mailbox behind it, so senders get bounces. In Gmail → Routing, find the address in the Email routing section, click Clear, reload the page, then create the Default routing rule above. Other settings in that table may be cleared too, so note them first (Google’s migration article).
- Check the account-type boxes. If Active user account or Group account is checked, the rule catches mail meant for real people.
- Know what counts as unrecognized. Google includes suspended users and users with Gmail turned off, so their mail goes to the catch-all too.
- Look in the catch-all user’s Spam folder. Catch-all mail goes through Gmail’s spam filtering like any other mail. In a Routing rule, Bypass spam filter and Also reroute spam don’t apply to the account types a catch-all uses.
cPanel and Plesk
cPanel: Default Address
cPanel calls a catch-all a Default Address (cPanel docs, version 130 and later):
- On the cPanel Home page, in the Email section, select Default Address.
- In the “Send all unrouted email for the following domain” menu, choose your domain.
- Select Forward to Email Address and enter the mailbox that should get the mail.
- Click Change.
If Default Address is missing, your host has probably switched it off in WHM’s Feature Manager, so ask the host. An address with its own forwarder is handled by that forwarder, not the catch-all. A domain forwarder, which sends mail for unknown addresses to another domain, overrides the Default Address entirely, so if the catch-all gets nothing, look under Forwarders for one. Hostinger’s cPanel plans use these same steps.
Plesk: Mail bounce settings
In Plesk Obsidian, the catch-all is a per-domain mail setting (Plesk’s guide):
- Go to Websites & Domains, select the domain, open the Mail tab, and click Mail Settings.
- Under Mail bounce settings, choose Forward to address and enter the address.
- Click OK.
For several domains at once, go to Mail → the Mail Settings tab, select the domains, and click Mail for Non-Existent Users. If your provider has turned on outgoing mail control, the forwarding address must be on the same domain, and an outside address or one address for several domains needs your provider’s help.
Zoho Mail, IONOS, and Titan
Zoho Mail
Zoho needs an existing user or group mailbox to receive the mail. Then follow Zoho’s catch-all steps:
- In the Zoho Mail Admin Console, select Domains on the left and choose the domain.
- Under Advanced Settings, open Catch-all Address.
- Enter the user or group mailbox, select it, and click Update.
Repeat it for each domain. To keep particular addresses out of the catch-all, add their usernames to the Excluded Email Addresses list. Zoho’s free plan has no IMAP; the FAQ below covers what that means for a catch-all.
IONOS: catch-all mailbox and forwarding
On Mail Basic and Mail Business, an IONOS catch-all is an ordinary mailbox whose name is an asterisk (IONOS help):
- Open Menu → Email.
- On the Email Addresses page, click Create another mailbox and choose the product, such as Mail Basic.
- In the E-Mail field (IONOS’s catch-all page calls it Name), enter
*and pick your domain so the address becomes*@example.com, set a password, and click I agree and save (IONOS’s mailbox steps).
To pass the mail on, open the address and use Forwarding Address → Add Forwarding. To pause the catch-all, rename it. IONOS documents * only as a mailbox, not as a forward-only address, and won’t create the address if your domain’s mail runs on an outside server such as Microsoft 365.
Titan
If your host’s email runs on Titan (Titan’s help):
- Sign in to the Titan Email Control Panel at
manage.titan.email(Blacknight customers usemanage-euc1.titan.email). - In the sidebar, click Catch-all Email.
- Click Enable catch-all mailbox, select the mailbox, and click Set this email as catch-all.
Mail that Titan’s spam or security filtering blocks never reaches the catch-all.
Hostinger and GoDaddy
Hostinger
For Hostinger Email in hPanel (Hostinger’s guide):
- In the Emails section of your dashboard, click your domain.
- Select Forwarders in the left sidebar and click Create catch-all.
- Choose the mailbox and click Create.
- Open that mailbox and click the verification link Hostinger sends. Setup isn’t complete until you do.
Hostinger’s documentation site calls the option Catch-all email, so the label on your screen may differ. You get one catch-all per domain.
GoDaddy
GoDaddy’s catch-all works only with Professional Email, one per domain, and not with Microsoft 365 from GoDaddy (GoDaddy help):
- Sign in to the Email & Office Dashboard.
- Select Manage next to the user who should get the mail.
- Under Account information, select Edit.
- Turn on Set up this account as the catch-all for this domain. If the domain already has one, confirm with Yes, Change Catch-All.
- Select Save.
GoDaddy’s separate Email Forwarding product is documented only for individual forwards, with no mention of a catch-all or wildcard, and forwarding credits that came bundled with domains can no longer be used.
Migadu and Proton Mail
Migadu
Migadu keeps the catch-all setting in each domain’s submenu, and its catch-all guide warns: “Spammers love catchalls.” Every plan has a daily incoming limit, such as 200 messages on the $19-a-year Micro plan (as of September 2026, per Migadu’s pricing). More than about 25% over the limit, Migadu defers mail, and if you stay over day after day, incoming mail bounces. A catch-all that draws spam can use up a small plan’s limit.
Proton Mail
Proton Mail offers a catch-all on any paid plan (Proton support):
- Go to Settings → All settings → Organization → Domain names.
- In the Actions menu, select Set catch-all.
- Enter an address on your domain.
An address that already exists keeps its own mail. Other mail apps need Proton Mail Bridge, which requires a paid plan and runs on your computer.
Forwarding services: Namecheap, Squarespace, and ImprovMX
Can registrar forwarding work as a catch-all? Namecheap’s free forwarding can, and so can Squarespace Domains. Porkbun’s forwarding can’t, and GoDaddy documents no catch-all for its Email Forwarding. The mail ends up in the inbox you forward to, and Google warns that forwarded messages often fail SPF, so watch that inbox’s spam folder.
Namecheap
Namecheap’s catch-all needs its BasicDNS, PremiumDNS, or FreeDNS and forwards to one address only (Namecheap’s guide):
- Select Domain List in the left sidebar and click Manage next to your domain.
- On the Advanced DNS tab, in Mail Settings, choose Email Forwarding and click Save all changes. Leave the SPF record in place; forwarding needs it.
- Back on the domain’s settings, scroll to Redirect Email and click Add catch all.
- Enter the destination in the Forward to field and click the checkmark.
Allow about an hour. Free forwarding can’t run alongside Namecheap Private Email. Namecheap’s page was last updated in March 2021, so labels may have moved. If it isn’t working, check the Email Forwarding setting, the SPF record, and that you tested from an address other than the destination.
Squarespace Domains
For a Squarespace-managed domain without a custom email service (Squarespace help):
- Open your domains dashboard, click the domain, click Email, and scroll to Email Forwarding.
- Click Add rule and confirm your password or two-factor code.
- In Forward from, enter
*(a wildcard), then enter the destination address.
A rule for a specific alias wins over the * rule. Forwarding starts 24–48 hours after you verify the destination, each rule takes one destination, and plus addressing isn’t available. Squarespace can’t forward to providers that enforce DKIM, including icloud.com, me.com, mac.com, yahoo.com, and aol.com.
ImprovMX
ImprovMX creates a * catch-all alias when you add a domain. If it’s gone, add an alias with * in the Alias field and your inbox in Forwards To (ImprovMX’s guide). The free plan covers one domain, 25 aliases, and 500 forwarded emails a day (as of September 2026).
Fastmail, iCloud+, and Cloudflare
These have their own guides, so here is the short version:
- Fastmail: Settings → My email addresses → Add address → Create an alias, then enter
*and choose your domain (Fastmail help). Our guide to Fastmail wildcards and custom domains covers the details. - iCloud+: at icloud.com/icloudplus, open Custom Email Domain, select your domain, and choose Turn On Allow All. Only the domain owner can turn it on (Apple Support). See our iCloud+ custom domain and catch-all guide.
- Cloudflare Email Routing: Compute → Email Service → Email Routing → Routing Rules, then turn on Catch-all rule and choose an action. Rules stay disabled until you verify the destination (Cloudflare docs). See Gmail with a custom domain through Cloudflare.
Hosts with no catch-all: DreamHost, Porkbun, OVHcloud, and Microsoft 365
- DreamHost says it “does not support Catch-All email addresses” because of spam. It suggests Google Workspace or plus addressing instead.
- Porkbun forwarding doesn’t support wildcard or catch-all addresses; you create each forward separately, up to 20 per domain (as of September 2026). Its hosted email ($36 a year per address, as of September 2026) doesn’t document one either.
- OVHcloud’s documentation has no catch-all option, only redirections for individual addresses.
Microsoft 365 and Office 365: no catch-all setting
Exchange Online, the mail service in Microsoft 365 and Office 365, has no catch-all setting. When all of a domain’s mailboxes are in Exchange Online, Microsoft rejects mail to unknown addresses before any filtering, with 550 5.4.1 Recipient address rejected: Access denied. Workarounds published elsewhere switch the domain to Internal relay and redirect unknown recipients with a mail flow rule, but Microsoft’s accepted domains page says not to choose Internal relay when all of the domain’s recipients are in Microsoft 365. Treat those setups as unsupported.
What to do instead
Plus addressing needs no setup on some hosts: DreamHost and Exchange Online turn it on by default, so on Microsoft 365, mail to you+shop@example.com reaches you@example.com. Our plus addressing guide covers why some sites reject the +.
For made-up addresses without a +, either:
- Move the domain’s mail to a service with a catch-all by changing its MX records, which moves every address at once. Our comparison of email hosts with a catch-all can help you choose.
- Use a subdomain. Keep your main mail where it is and point the MX records of a subdomain such as
shop.example.comat a catch-all service that accepts subdomains. Any address@shop.example.comthen lands there.
If you’d rather not touch your domain at all, CatchNone Premium gives each signup its own @catchnone.com address, with no DNS or mailbox to set up (see below).
Catch-all not working? A checklist
- MX records point at the service where you set the catch-all, and the change has had time (see each host above).
- The option is on your plan, and nothing overrides it (see your host’s section).
- The destination is verified and accepted. Hostinger, Squarespace, and Cloudflare wait until you confirm it, and Squarespace can’t forward to some providers.
- You tested from another address. Namecheap, Squarespace, and ImprovMX all say not to test from the address you forward to; Squarespace skips those messages to avoid loops.
- The test address really doesn’t exist. Addresses with their own cPanel forwarder, Squarespace’s specific rules, existing Proton addresses, and real Workspace users all get their own mail.
- Spam folders, especially in the inbox a forwarder delivers to. Google advises forwarders to set up DKIM.
- A
550 5.4.1bounce is Microsoft 365 rejecting unknown recipients; it has no catch-all.
How to stop one address on a catch-all
When one address starts drawing spam, block it at the host rather than in a mail app.
| Service | How to stop one address | What the sender sees |
|---|---|---|
| Google Workspace | Default routing → Configure or Add Another Rule → Single recipient (the address) → Reject message | A rejection with an SMTP code such as 550 5.7.1, plus your optional note |
| cPanel | Forwarders: add one for that address with Discard and send an error to the sender (at SMTP time) | “No such person at this address” |
| Zoho Mail | Add the username to Excluded Email Addresses | Not documented |
| Fastmail | Create the alias, then check Disable under Show advanced preferences | A bounce |
| iCloud+ | Create the address, then delete it | The mail is returned |
| Cloudflare | A routing rule for that address with the Drop action | Nothing; the mail is deleted |
| Other hosts in this guide | No per-address block in their help pages; use a filter in the receiving mailbox | Nothing (the filter acts after delivery) |
Google gives settings with a Reject action the highest priority, so the Workspace rule works alongside either catch-all method.
Reading catch-all mail address by address
A catch-all changes where a message is delivered, not what it says. The address the sender used normally stays in the To or Cc line, so you can sort by it.
- Gmail and Workspace: try a search like
to:shop@example.com(Gmail’s search operators). For Bcc’d mail, turn on Add X-Gm-Original-To header in either Workspace method. The original address then shows in the message’s headers (in Gmail, More → Show original), though Gmail’s search operators don’t cover that header. - Fastmail: create rules on the To address to file mail into folders.
- Workspace in other mail apps: IMAP must be turned on under Gmail → End User Access, where an admin can also limit it to OAuth mail clients. Workspace no longer accepts a plain password from mail apps, so they need OAuth or an app password, which may be missing on work accounts.
- Fetching into Gmail: Gmail’s “Check mail from other accounts” (POP) takes no new users and ends in January 2027, which is why older guides no longer work.
Reading catch-all mail in CatchNone
CatchNone turns the inbox your catch-all delivers to into one list per address. It reads that inbox read-only, directly from your device, over IMAP (TLS, port 993 by default, with a password or app password) or JMAP, so your mail never passes through CatchNone’s servers. Each message appears under the address it was sent to, which makes a leaked or sold address easy to spot. Addresses you never created show with a gray badge and can be searched; create one later as an alias with Customize, and its earlier mail picks up the name. The Free plan includes up to 10 aliases on your own domain, and Lite and Premium have no limit. CatchNone is available for iPhone, iPad, and Mac.
It’s receive-only and leaves the setup to your host: it doesn’t create the catch-all or change your DNS. It can’t open a Google Group, Zoho’s free plan, Proton Mail (its IMAP runs only through Bridge, which CatchNone doesn’t support), or, with no OAuth, a Workspace account where app passwords aren’t allowed. Each check reads the newest 100 inbox messages from the last 30 days, counted before it looks for your domain, so a separate catch-all mailbox works best. It skips the spam folder and reads only the To, Cc, and Bcc lines (not X-Gm-Original-To), so mail that names no address on your domain there, usually including Bcc’d mail, isn’t imported. Marking an alias as not in use is only a label, so block addresses with your host’s rules above.
If you’d rather skip the domain setup altogether, Premium adds @catchnone.com addresses, with no domain, DNS, or mailbox to set up. Switch one off and senders get a bounce.
FAQ
Can I set up a catch-all in Gmail?
Not on a gmail.com address: a catch-all covers every address on a domain you own, and neither a personal Gmail account nor a Gmail filter can create one. If you own a domain, use Google Workspace, or put a forwarder with a catch-all, such as Cloudflare Email Routing, ImprovMX, or Namecheap, in front of Gmail; our guide to a catch-all for regular Gmail through Cloudflare sets one up.
Does Zoho Mail’s free plan support catch-all and IMAP?
It has no IMAP: Zoho’s pricing page lists “IMAP/ POP/ Active Sync not included” for the Forever Free plan, which also lacks forwarding and routing. Zoho’s catch-all help names no plan restriction, so look for Catch-all Address in your Admin Console. Even if it’s there, you can read that mail only in Zoho’s own apps.
Is it safe to run a catch-all?
It works, but it collects spam: cPanel and Migadu warn about it, and DreamHost won’t offer a catch-all at all. Point it at a separate mailbox, block addresses that attract junk, and create addresses one by one instead if the spam gets out of hand. If you met the term as a status in an email verification tool, our catch-all explainer covers what it means there.