All articles

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.com can have its own. Check them with dig MX example.com +short on a Mac or Linux, or nslookup -type=mx example.com on 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)

  1. In the Google Admin console, go to Menu → Apps → Google Workspace → Gmail → Routing. You need the Gmail Settings administrator privilege.
  2. On the Routing tab, scroll to Routing and click Configure, or Add Another Rule if you already have one.
  3. Enter a name. Google won’t save the setting without one.
  4. Check Inbound messages.
  5. Under Action, choose Modify message, check Change envelope recipient, select Replace recipient, and enter the catch-all address.
  6. 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.
  7. 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

  1. 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.
  2. Under “Specify envelope recipients to match”, choose All recipients.
  3. Under Envelope recipient, check Change envelope recipient, select Replace recipient, and enter the catch-all address.
  4. Under Options, select Perform this action only on non-recognized addresses.
  5. 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 older aspmx values, 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):

  1. On the cPanel Home page, in the Email section, select Default Address.
  2. In the “Send all unrouted email for the following domain” menu, choose your domain.
  3. Select Forward to Email Address and enter the mailbox that should get the mail.
  4. 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):

  1. Go to Websites & Domains, select the domain, open the Mail tab, and click Mail Settings.
  2. Under Mail bounce settings, choose Forward to address and enter the address.
  3. 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:

  1. In the Zoho Mail Admin Console, select Domains on the left and choose the domain.
  2. Under Advanced Settings, open Catch-all Address.
  3. 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):

  1. Open Menu → Email.
  2. On the Email Addresses page, click Create another mailbox and choose the product, such as Mail Basic.
  3. 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):

  1. Sign in to the Titan Email Control Panel at manage.titan.email (Blacknight customers use manage-euc1.titan.email).
  2. In the sidebar, click Catch-all Email.
  3. 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):

  1. In the Emails section of your dashboard, click your domain.
  2. Select Forwarders in the left sidebar and click Create catch-all.
  3. Choose the mailbox and click Create.
  4. 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):

  1. Sign in to the Email & Office Dashboard.
  2. Select Manage next to the user who should get the mail.
  3. Under Account information, select Edit.
  4. 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.
  5. 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):

  1. Go to Settings → All settings → Organization → Domain names.
  2. In the Actions menu, select Set catch-all.
  3. 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):

  1. Select Domain List in the left sidebar and click Manage next to your domain.
  2. 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.
  3. Back on the domain’s settings, scroll to Redirect Email and click Add catch all.
  4. 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):

  1. Open your domains dashboard, click the domain, click Email, and scroll to Email Forwarding.
  2. Click Add rule and confirm your password or two-factor code.
  3. 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:

Hosts with no catch-all: DreamHost, Porkbun, OVHcloud, and Microsoft 365

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.com at a catch-all service that accepts subdomains. Any address @shop.example.com then 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

  1. MX records point at the service where you set the catch-all, and the change has had time (see each host above).
  2. The option is on your plan, and nothing overrides it (see your host’s section).
  3. The destination is verified and accepted. Hostinger, Squarespace, and Cloudflare wait until you confirm it, and Squarespace can’t forward to some providers.
  4. 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.
  5. 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.
  6. Spam folders, especially in the inbox a forwarder delivers to. Google advises forwarders to set up DKIM.
  7. A 550 5.4.1 bounce 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.

The journal

A little email know-how.

All articles

Your email. A little more yours.

Download CatchNone

For iPhone, iPad, and Mac