If your domain has a catch-all email address configured, every message sent to a misspelled or retired mailbox on that domain still lands somewhere: a main inbox, a shared folder, or a forwarding destination you picked. That is the upside. The downside shows up the morning you open that inbox and find 400 messages with no obvious order, half of them addressed to info@, a few to j.smith@, and the rest to addresses you have never seen. The fix is not to disable the catch-all. It is to sort the incoming mail by the address it was originally sent to, and the Delivered-To header is what makes that possible.
Here is the checklist view. Confirm the catch-all is actually set where your MX records point, because a catch-all on the wrong mail server does nothing. Verify that forwarded messages keep the Delivered-To header instead of stripping it. Then build one filter rule that reads that header and routes each message by its original recipient. When the pieces line up, unrouted mail stops being a junk pile and becomes a searchable archive of every address your domain has ever answered, including the ones customers still use from an old invoice.
The steps below assume a standard email hosting panel, most often cPanel, which is used by Namecheap shared hosting and GoDaddy cPanel hosting, though the same header logic applies to Google Workspace catch-all rules and to any forwarder that preserves headers. Keep a test address or two handy. You will send mail to fake mailboxes on purpose, and you want to see the full raw headers before you trust a rule to run unattended.
What a Catch-All Email Address Does and Why Unrouted Mail Gets Lost
A catch-all email address is a domain-level safety net. When someone sends a message to j.smith@yourdomain.com and no such mailbox exists, the mail server has to decide what to do. Without a catch-all, the server issues an SMTP rejection (usually a 550 “no such user here”) and the message bounces back to the sender. With a catch-all configured, the server accepts the message and hands it to a designated destination instead, typically your main inbox. That one setting converts a hard failure into a delivered message you can read, sort, and answer.
This matters more than most people expect. Typos in the local part, old addresses from a previous job, sales inquiries sent to info@ when you only published hello@, invoices from a vendor that guessed your billing alias: all of it disappears on a default setup. The sender gets a bounce, shrugs, and moves on. You never learn the message existed. A catch-all keeps that unrouted mail in play.
Where the Catch-All Lives and Who Calls It What
The feature is named differently depending on the control panel. cPanel calls the catch-all the Default Address, and it forwards unrouted email to a specified mailbox, another address, or a discard action. You will find it under Email > Default Address in cPanel, which is used by Namecheap shared hosting and GoDaddy cPanel hosting alike. Namecheap offers catch-all via free email forwarding on its own dashboard, and GoDaddy provides a catch-all toggle in its email forwarding settings. Google Workspace requires its own catch-all rule, configured in the admin console under routing, because it does not read the cPanel-style setting.
One rule trips people up constantly: the catch-all must be set where the MX records point. If your domain’s MX records resolve to Google or Microsoft and you flip a toggle inside a hosting panel that no longer handles mail, nothing changes. Run an MX record lookup first, confirm which system receives your mail, and configure the catch-all there. Also check for domain-level forwarders, since those override the Default Address for the specific addresses they cover.
Redirecting unrouted mail to a main inbox is the practical middle ground between bouncing everything and paying for a mailbox for every alias you might ever need. The trade-off is real: spammers may cause large amounts of spam at the default address, because dictionary attacks hit random local parts and a catch-all accepts every one of them. That is a filtering problem, not a reason to skip the setup. Accept the mail, then sort it.
Setting Up a Catch-All with cPanel Default Address
The cPanel Default Address is the catch-all control for any domain on the account. It lives in the Mail section of the cPanel sidebar under a link labeled “Default Address,” sometimes shown as “Default Address Maintenance.” Pick the domain from the drop-down at the top if you host more than one, and you will see the current rule, usually set to “Discard” out of the box. That default is why misaddressed mail vanishes without a bounce: cPanel accepts the message at SMTP, then drops it.
Here is the checklist for pointing unrouted mail at a real inbox.
- Log in to cPanel, scroll to the Mail section, and open Default Address. The setting is used by Namecheap shared hosting and GoDaddy cPanel hosting alike, so the path is the same on both.
- Select the domain if you have several. Confirm you are editing the right one before you touch anything.
- Choose “Forward to Email Address” and enter your primary mailbox, for example you@yourdomain.com. If the destination is on another domain, type the full address; there is no autocomplete for external mailboxes.
- Click Change. cPanel writes the rule immediately, no restart needed.
- Send a test message to something like q7x2-test@yourdomain.com and confirm it lands in the main inbox within a minute or two.
The alternative option, “Discard,” with or without an error message, is worth knowing about. “Discard and send an error to the sender” returns a bounce, which tells a real person they mistyped but also confirms your domain is live to directory harvesters. Plain “Discard” is silent. Neither helps you recover a customer who misspelled your address, which is the whole point of forwarding.
One rule beats the Default Address: a domain-level forwarder or a real mailbox with the exact name always wins. If you later create sales@yourdomain.com as a system account, mail to that address stops hitting the catch-all and goes to the mailbox. That is the behavior you want, but it surprises people who expect the catch-all to keep a copy. It does not. Also check that your MX record lookup points at the same server running cPanel. A catch-all must be set where the MX records point, so if mail flows through a third-party filter first, the Default Address in cPanel never sees the unrouted messages.
Finally, expect volume. Spammers hammer the default address with dictionary-style guesses, and a catch-all can pull in thousands of junk messages a month. Keep the forward in place, but plan to filter on the Delivered-To header so the noise does not bury the real mail.
Configuring Catch-All Forwarding in Namecheap and GoDaddy
Both Namecheap and GoDaddy can send unrouted mail to a main inbox, but they get there through different menus and with different behavior in the destination field. Work through the checklist for whichever dashboard you use, then confirm the result before moving on.
Namecheap: catch-all through free email forwarding
- Sign in to your Namecheap account and open Domain List. Click Manage next to the domain.
- Open the Advanced DNS tab. Namecheap handles catch-all through free email forwarding, so the domain has to use Namecheap’s BasicDNS or PremiumDNS nameservers. If the domain points to third-party nameservers, the forwarder panel is read-only and you have to set the catch-all where the MX records point instead.
- Scroll to the Mail Settings section and pick Email Forwarding (the free option). If the domain runs on Private Email, switch to the Private Email dashboard and use its catch-all setting, which is a separate toggle from the free forwarder.
- Add a forwarder with Alias set to
*(or leave it blank where the form accepts a wildcard) and Forward To set to your main inbox. Save with the checkmark. - Check the MX records in the same tab. Free forwarding needs Namecheap’s MX entries (mx1.privateemail.com and mx2.privateemail.com at priority 10 and 10, or the legacy forwarder hosts if the panel shows them). A stale MX record from an old host breaks the whole chain.
Namecheap’s free email forwarding allows up to 100 forwarders per domain on most plans, and each rule counts toward that cap. The wildcard rule is a domain-level forwarder, so it overrides nothing else: specific aliases you created still match first and keep their own destinations.
GoDaddy: catch-all via the email forwarding panel
- Sign in at GoDaddy and open My Products. Find the domain and click DNS (or Manage DNS).
- Scroll to Email Forwarding and click Add Forward, or open the forwarding panel from the domain settings menu depending on which dashboard version you get.
- Enter the source address. GoDaddy’s form expects a name in front of the @, so type
*to catch everything that does not match a real mailbox. - Type the destination inbox in the Forward To field. GoDaddy accepts one address per rule here; it does not split a single rule to multiple recipients, so add separate rules if you need copies.
- Save and give DNS up to an hour to propagate. GoDaddy’s forwarding requires its own MX records (smtp.secureserver.net at priority 0 and mailstore1.secureserver.net at priority 10); if the domain uses Google Workspace, the GoDaddy catch-all toggle does nothing and you need a catch-all rule inside the Google admin console.
GoDaddy’s free forwarding covers a single mailbox destination per address with a limit of 100 forwarding addresses per domain. The destination field rejects malformed addresses silently in some panel versions, so re-open the rule after saving and confirm the inbox string is exactly right.
Quick comparison
| Item | Namecheap | GoDaddy |
|---|---|---|
| Where the setting lives | Advanced DNS, Mail Settings, Email Forwarding | DNS page, Email Forwarding section |
| Wildcard entry | * alias or blank alias |
* in the source name field |
| Rule limit | 100 forwarders per domain | 100 forwarding addresses per domain |
| Multiple destinations | One per rule, add more rules | One per rule, add more rules |
| Hosted mail caveat | Private Email has its own catch-all | Google Workspace needs its own rule |
One more check before you leave the panel: send a message to a made-up address on the domain and confirm it lands in the main inbox. cPanel Default Address catch-all offers additional context worth reviewing. If it bounces with an SMTP rejection, the wildcard rule did not save or the MX records still point elsewhere. Fix that now, because every filter in the next step depends on the forward actually working.
How the Delivered-To Header Preserves the Original Recipient
When a catch-all forward delivers a message to your main inbox, the envelope recipient (the address the sending server actually asked for) does not disappear. The receiving server stamps it into a Delivered-To header before handing the message to your mailbox. That header is your receipt: it names the original intended address, even though the message now sits in a shared inbox alongside everything else.
The mechanics are worth knowing because they explain why the header is trustworthy. SMTP delivery works on the envelope, not the To: line. When someone writes to sales-2023@yourdomain.com and your catch-all forwards it to you@yourdomain.com, the forwarding server adds a line like this near the top of the headers:
Delivered-To: sales-2023@yourdomain.com
The To: header may still show the original address too, but To: is trivial for a sender to forge. Delivered-To is written by the receiving mail server itself, after the SMTP conversation, so it reflects what the server actually accepted. That is exactly the property you want when building filters.
Reading Delivered-To in a Real Message
Open any forwarded message and view the full raw source (Gmail: three-dot menu, “Show original”; Outlook: File, Properties, Internet headers). Look for the topmost Delivered-To line. On a clean single-hop forward you will see the original recipient there. On a chain of forwarders you may see several Delivered-To lines stacked, one per hop, with the newest at the top. Read from the top down to trace the path.
- One hop, one header. A direct catch-all forward to your mailbox usually produces a single Delivered-To with the original address. Clean and easy to filter on.
- Forwarding chains add lines. If the catch-all points to a domain-level forwarder that then points to your inbox, expect two or more Delivered-To entries. The top one is the original recipient; the lower ones are intermediate hops.
- Header rewriting breaks the trail. Some forwarders, particularly older “pipe to a program” setups or third-party relays, rewrite headers and drop Delivered-To entirely. If the line is missing, the original address is gone and your filters have nothing to match.
- Discard means no header at all. If the Default Address is set to discard, the message never reaches a mailbox, so there is no Delivered-To to inspect. Forward first, filter second.
Keep this in mind before you build rules: verify the header exists on a test message. If it does, the original address survives the forward and you can sort on it reliably. If it does not, check the forwarder settings before blaming your filter.
Building Filters That Sort Mail by Original Address Using Delivered-To
The moment unrouted mail lands in your main inbox, it turns into a pile. A filter that reads Delivered-To fixes that. Here is the checklist I run through whenever I set up a catch-all on a new domain.
Rules that work in cPanel, Gmail, and Outlook
Start on the server side when you can. In cPanel, open Email Filters, pick the mailbox that receives the catch-all, and create a rule with the condition “Delivered-To” “contains” the original address, for example sales@yourdomain.com. Set the action to deliver to a folder, forward to another mailbox, or discard. Server-side filters fire before the message reaches any client, so they work on phone, webmail, and desktop alike. If your email hosting panel has no filter builder, fall back to client rules in Gmail, Outlook, or Apple Mail. The condition field is often hidden by default in Gmail: click the search dropdown, choose “Customize query”, and look for the header option, or search directly with deliveredto:sales@yourdomain.com.
Build one rule per original address you actually care about. A short list beats a clever regex. Order matters too: put discard rules for obvious junk last, so a legitimate filter never loses mail to a broad catch-all drop.
- Label by recipient. Match Delivered-To and apply a label or folder named after the original address, so sales@, billing@, and jobs@ each get their own lane.
- Prioritize real people. Add a star or mark-as-important action for addresses you gave to clients, and skip it for anything scraped from a website.
- Forward with intent. Route billing@ to whoever handles invoices and jobs@ to the hiring inbox, instead of reading everything yourself.
- Quarantine the rest. Send unmatched catch-all mail to a “Catch-All Review” folder and check it weekly, not hourly.
Two practical notes. Some forwarders rewrite headers, so test with a message to a fake address and inspect the full header before trusting the rule. And if your chain runs through a domain-level forwarder, filters downstream may only see the relay address. Match on Delivered-To at the mailbox where the message finally arrives, and the rule holds.
Testing Your Forwarding Setup and Avoiding Common Catch-All Pitfalls
Verify with test messages, then watch for header damage
Send a test to an address that cannot exist: q7xk2-test@yourdomain.com works fine. Wait two minutes, open the message in your main inbox, and check that it arrived. Then open the full headers. In Gmail that is “Show original”, in Outlook it is “View message source”, in Thunderbird it is Ctrl+U. Search the raw text for Delivered-To: and confirm the value matches the fake address you typed. If the header is missing or shows your primary mailbox instead, the rewrite happened in transit and your filters will never match.
Run the same test from two senders: one Gmail account and one address on a different provider. Some forwarders strip or replace headers based on the sending path, and a single test can give you false confidence. Also send one message to a real alias that already exists, so you can confirm the catch-all does not hijack mail meant for a defined mailbox.
Now go through the checklist of things that break catch-alls:
- MX record lookup points elsewhere. The catch-all must be set where the MX records point. If your domain’s MX records resolve to a mail provider and you configure the Default Address in cPanel on a different server, the rule never fires. Run a lookup with
dig MX yourdomain.comor an online tool and confirm the host you are editing is the host that receives mail. - A domain-level forwarder overrides the Default Address. A wildcard forwarder set at the registrar level can take precedence, so unrouted mail goes there instead of to your cPanel mailbox. Check the forwarder list before you debug anything else.
- Spam volume. Once a catch-all is live, spammers may cause large amounts of spam at the default address because dictionary attacks hit every random name. Expect the volume to climb within days. Set a spam score threshold and consider discarding obvious junk rather than forwarding it.
- Header rewriting. Forwarders that re-inject mail with a new envelope can drop Delivered-To entirely. If your filter depends on it, test the exact path the message takes and keep a fallback rule that matches on the To: header.
- Broken forwarding chains. Two hops through a system account and a pipe to a program can lose the original address. Keep the chain to one hop where possible.
- Provider-specific rules. Google Workspace requires its own catch-all rule in the admin console, so a cPanel setting will not help there. Namecheap and GoDaddy each have their own toggles as well.
Log the results of each test in a short note: sender, fake address, header present or absent, filter matched or not. When something fails six weeks later, that note saves an hour of guessing.
Before you close the tab, run one last end-to-end check. Send a message from an outside account (Gmail works fine) to an address you know does not exist on the domain, something like zz-test-4471@yourdomain.com. Open the message in your main inbox, choose “Show original” or “View source,” and confirm the Delivered-To line still shows zz-test-4471@yourdomain.com instead of your primary address. If it does, your filter can match on it. If it does not, the header was rewritten somewhere in the chain, which usually means the forwarder itself is replacing Delivered-To with the final destination. In that case, look for a second header such as X-Original-To or Envelope-To and point your filter at whichever one survived. Then send a second test to a real but rarely used alias and make sure it lands in the right label, not the general inbox. Two minutes of testing now saves you from discovering a broken rule three weeks later when a client’s invoice sits buried under newsletter spam.
Keep a short notes file with the exact filter conditions you built, the header name you matched on, and the date you last verified the setup. If you ever migrate hosts or change your MX record lookup targets, rerun the same test before you trust the routing again. One more habit worth adopting: check the catch-all inbox once a week for the first month. You will quickly see which senders hit nonexistent addresses, whether that traffic is mostly spam, and whether a catch-all is still the right trade-off for this domain or whether a handful of explicit aliases would serve you better. If the volume gets ugly, switch the Default Address or provider toggle to discard and keep only the named mailboxes you actually read.
{“@context”:”https://schema.org”,”@type”:”Article”,”headline”:”Filter by Original Address With the Delivered-To Header”,”description”:”A catch-all keeps the original recipient in the Delivered-To header, so you can filter unrouted mail by address even after it lands in a shared main inbox.”,”inLanguage”:”en”,”datePublished”:”2026-11-02T13:06:46Z”,”articleBody”:”If your domain has a catch-all email address configured, every message sent to a misspelled or retired mailbox on that domain still lands somewhere: a main inbox, a shared folder, or a forwarding destination you picked. That is the upside. The downside shows up the morning you open that inbox and find 400 messages with no obvious order, half of them addressed to info@ , a few to j.smith@ , and the rest to addresses you have never seen. The fix is not to disable the catch-all. It is to sort the i”}






