> Enrich.chat gives AI agents verified work emails and mobiles. To use it from an agent, read https://enrich.chat/agents.md . This is the Markdown version of https://enrich.chat/blog/what-is-a-catch-all-email/

# What is a catch-all email? How accept-all domains work and how to handle them

A catch-all domain says yes to every address, real or not. See the SMTP step behind it, how admins switch it on, what verifiers call it, and what to do with each result.

By Enrich.chat Editorial. Updated October 16, 2026.

**Short answer:** A catch-all (accept-all) email domain accepts mail for any address, even one with no mailbox. At the RCPT step of [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3), where a server normally answers 550 for an unknown recipient, it answers 250 OK instead. So no verifier can confirm one person's mailbox there. Treat such an address as unconfirmed, not as invalid.

## Key takeaways

- A catch-all server answers 250 OK for a recipient it has no mailbox for. Postfix needs one line for that, and Google Workspace needs one routing setting.
- Three setups look the same to a verifier: deliver to one shared inbox, accept and bounce later, or accept and discard. Only a real send shows which one it is.
- Verifiers use different words: Accept-all at Hunter, catch-all at ZeroBounce and Mailgun, Risky (Accept-All) at Emailable. All mean unconfirmed. None means invalid.
- In Hunter's own test, the bounce rate was 27% for 100 accept-all addresses and 1% for 100 valid ones. Other vendors state figures from under 2% to 8% or more.
- Enrich.chat labels such a work email catch_all, and its free checker tests a domain.

## What is a catch-all email?

A catch-all email domain is one whose mail server accepts mail for any address at that domain, including addresses with no mailbox behind them. [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/), a verifier vendor, describes it as a domain set up to accept all emails, even those sent to non-existent mailboxes. A normal domain refuses mail for a name it does not know. A catch-all domain takes it.

The idea has several names, and that is where most of the confusion starts. The table lists the ones you will meet.

| Term | Where you see it | What it means |
| --- | --- | --- |
| Catch-all or accept-all domain | Help pages of [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) and [ZeroBounce](https://www.zerobounce.net/email-types/catch-all-emails) | The mail server accepts every recipient at the domain |
| Catch-all address or mailbox | [Google Workspace admin help](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) | The one inbox that receives mail sent to unknown names |
| Default address | [cPanel](https://docs.cpanel.net/cpanel/email/default-address/) | cPanel's name for a catch-all address |
| Wildcard domain | [Spamhaus](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/) | A domain that accepts mail to any local part, written \*@example.com |
| Catch-all, accept-all or risky | Verifier results | The address is on such a domain, so the mailbox cannot be confirmed |

The setting belongs to the domain, not to one person. Your contact may well have a real mailbox there. ZeroBounce says individual addresses on a catch-all domain can be valid, invalid or impossible to resolve. So "catch-all" tells you how the server behaves. It does not tell you whether your contact's mailbox exists.

## What does a catch-all server do at the SMTP level?

A catch-all server answers 250 OK to a recipient it has no mailbox for, where a normal server answers 550. [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3) splits a mail transaction into three steps: MAIL, one or more RCPT commands, then DATA. At RCPT, a server that accepts the recipient returns 250 OK. If the recipient is known not to be deliverable, it returns 550, typically with text such as "no such user". The sender hears this before any message text is sent.

That early answer is what verifiers read. Gmail shows the normal case: [Google's error list](https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes) gives 550 5.1.1 for an account that does not exist. Exchange Online's network edge [returns 550 5.4.1](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking) for an address that is not in the directory.

Saying yes to everyone is not one setup. It is several. Some servers check late: section 3.3 says some do not verify a recipient until after the message text arrives, and then mail a failure notice. [Section 6.1](https://www.rfc-editor.org/rfc/rfc5321.html#section-6.1) says a server that accepts a message and then cannot deliver it must send a notification. N-able, a mail security vendor, says [Exchange Server 2013 and later](https://documentation.n-able.com/spamexperts/userguide/Content/Integration/recip-veri-exch-o365.htm) checks after DATA, so a probe gets 250 OK for invalid recipients too.

Some operators accept everything on purpose. [Section 6.2](https://www.rfc-editor.org/rfc/rfc5321.html#section-6.2) says that accepting a message may trigger extra unwanted traffic by confirming the address, and that dropping mail without telling the sender is permitted in practice, though extremely dangerous. [Section 7.3](https://www.rfc-editor.org/rfc/rfc5321.html#section-7.3) notes that RCPT commands can often reveal whether an address is valid. Figure 1 lists the four choices.

**Figure 1: Four ways a server can answer for an address with no mailbox.** A four row table. Reject at once: the server answers 550 at RCPT, the sender is told at once and no message is accepted, and a verifier reads it as not catch-all. Deliver to one inbox: the server answers 250 at RCPT and a shared inbox gets the mail. Accept then bounce: the server answers 250, checks later and mails a failure notice back. Accept and discard: the server answers 250 and drops the mail, and the sender hears nothing. The last three all read as catch-all to a verifier.

*What a server can do with mail for a name it has no mailbox for. The reply codes follow [RFC 5321 section 3.3](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3). Row 2 is shown in the [Postfix](https://www.postfix.org/VIRTUAL_README.html) and [Google](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) guides, row 3 in [Postfix's local recipient guide](https://www.postfix.org/LOCAL_RECIPIENT_README.html), and row 4 in [cPanel's Default Address page](https://docs.cpanel.net/cpanel/email/default-address/) and RFC 5321 section 6.2.*

From outside, rows 2, 3 and 4 look the same. The difference shows up later: row 2 reaches a shared inbox, row 3 bounces hours or days after the send, and row 4 vanishes. ZeroBounce's [status guide](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-status-codes) says these addresses cannot be validated without sending a real email and waiting for a bounce.

## How is a catch-all set up in Postfix, Google Workspace, Exchange and cPanel?

Each product has its own switch. Postfix, Google Workspace and Exchange Online reject unknown addresses until an admin changes a setting. cPanel's documentation says mail for unknown addresses goes to a default address. Our [catch-all checker](https://enrich.chat/tools/catch-all-checker/) page has the full Google and Microsoft steps.

| Product | Unknown address by default | What turns a catch-all on | Source |
| --- | --- | --- | --- |
| Postfix | Rejected with "User unknown" | One line in the virtual alias map, such as @example.com jim | [Postfix](https://www.postfix.org/VIRTUAL_README.html) |
| Google Workspace | Rejected with 550 5.1.1 | A Gmail routing setting that changes the envelope recipient for inactive and unrecognized accounts | [Google](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) |
| Exchange Online | Rejected at the edge with 550 5.4.1 | Change the domain from Authoritative to Internal relay, then add a mail flow rule | [Microsoft](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains) |
| cPanel | Sent to the default address | In Default Address, choose Forward to Email Address | [cPanel](https://docs.cpanel.net/cpanel/email/default-address/) |

### Postfix

Postfix's [virtual domain guide](https://www.postfix.org/VIRTUAL_README.html) shows a sample that rejects unknown names with "User unknown". A commented-out line, @example.com jim, would send every other example.com address to one user. The guide warns that a catch-all mailbox is likely to receive many spam messages, plus many bounces for spam sent in the name of anything@example.com.

The [local recipient guide](https://www.postfix.org/LOCAL_RECIPIENT_README.html) describes a riskier route. An empty local_recipient_maps setting turns the rejects off for local domains, and Postfix then accepts mail for non-existent recipients and tries to return it to the often forged sender address. That is row 3 in Figure 1.

### Google Workspace and Exchange Online

In Google Workspace, [Google's guide](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) tells the admin to add a Gmail routing setting: modify the message, replace the envelope recipient with the catch-all address, and apply it to All inactive and unrecognized accounts. Changes can take up to 24 hours.

In Exchange Online, [Directory-Based Edge Blocking](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking) rejects unknown recipients by default. A [Microsoft moderator's answer on Microsoft Q&A](https://learn.microsoft.com/en-us/answers/questions/546512/exchange-rule-mailbox-doesnt-exist) says to change the domain from Authoritative to Internal relay, then add a rule that redirects the mail. [Microsoft's accepted domains page](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains) says an Internal relay domain delivers to known recipients and relays the rest to your own mail server. In a migration, the edge can accept an unknown name and pass it to the old server, which may reject it later. That is another road to row 3.

### cPanel

[cPanel's Default Address page](https://docs.cpanel.net/cpanel/email/default-address/) says mail for invalid addresses normally goes to the domain's default address, which is the account's default email account until someone changes it. The admin can reject at SMTP time, forward to another address, or discard the mail. Discard is marked not recommended, because the sender never learns that delivery failed. That is rows 1, 2 and 4 of Figure 1 in one dialog.

## Why do companies use a catch-all, or end up with one?

Most companies want to avoid losing mail, and a few want to hide who works there. Others never chose it: a hosting default or a half-finished migration did.

- **Mail that would be lost.** Google's guide says a catch-all collects mail sent to incorrect or non-existent addresses, such as help@ and support@ landing in info@. ZeroBounce adds typos, wrong guesses at the address format, staff who left, and mail sent to the wrong department.
- **A hosting default.** cPanel's documentation recommends a default address for each domain so you receive all of its email. A small business on shared hosting can have a catch-all without choosing one.
- **A migration in progress.** Microsoft tells admins to leave a domain on Internal relay until every valid recipient is in Exchange Online.
- **Hiding who exists.** RFC 5321 section 6.2 gives the mechanism. Hunter says some domains now use the setting mainly to stop email finders from guessing valid addresses, and BulkMail's knowledge base says some use it to hide validity from bots and spam senders. Both are vendor statements about motive.

The cost is spam: the Postfix guide and cPanel's page both warn that a catch-all mailbox can receive a lot of it. How common is the setting? Hunter's analysis of 2,572 email addresses found 38% of email domains configured as accept-all. That is one vendor's sample, not a census.

### Is a catch-all domain a spam trap?

Not by default. In 2017, Word to the Wise, a deliverability consultancy, wrote that many people think catch-all domains exist only as spamtraps, so many verification tools filter them out. It added that not all catch-all domains are used for traps. [Spamhaus](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/) does say classic spamtraps are in some cases addresses at wildcard domains. So a catch-all domain is not a trap, but a trap can sit on one.

## How do email verifiers detect and label a catch-all?

A verifier asks the mail server whether it will accept an address that cannot exist, and flags the domain if the answer is yes. Hunter describes testing a random string of characters, and [Bouncer](https://www.usebouncer.com/catch-all-email-verification/) says it tests random addresses on each new domain. Our [catch-all checker](https://enrich.chat/tools/catch-all-checker/) page shows the exchange line by line, and the [email validation guide](https://enrich.chat/blog/email-validation/) places the check among the other layers.

The label that comes back is each vendor's own. The table shows five, with what each vendor's help page tells you to do.

| Vendor | Label | What its help page says |
| --- | --- | --- |
| [Hunter](https://help.hunter.io/en/articles/15899247-email-verification-faqs) | Accept-all, with a confidence score | Proceed carefully and prioritise scores above 85%. Its [guide](https://hunter.io/email-verification-guide/accept-all-catch-all/) says not to discard these automatically and not to treat them as fully valid |
| [ZeroBounce](https://www.zerobounce.net/email-types/catch-all-emails) | catch-all, plus an accept_all sub-status that is returned as valid | Do not remove every catch-all and do not send to every one. Validate the individual address, and treat one that stays catch-all with greater caution |
| [Mailgun](https://documentation.mailgun.com/docs/validate/single-valid-ir) | Result catch_all, reason accept_all | Validity cannot be determined, and invalid addresses may bounce after delivery is attempted. No sending rule is given |
| [Bouncer](https://docs.usebouncer.com/integration-guidelines) | risky, with the flag domain.acceptAll set to yes | Its guide lists these among results to keep if deliverability is not impacted and the list is relatively clean |
| [Emailable](https://emailable.com/docs/email-verification/special-email-types/understand-accept-all-verification) | Risky (Accept-All) | For some domains the result becomes Deliverable or Undeliverable. Otherwise it stays Risky (Accept-All) |

Three things to notice. First, no vendor calls the result invalid. Second, the labels are not the same thing. ZeroBounce keeps an accept_all sub-status for domains on its own allow-list. It returns those as valid and cites long-term sending data that shows a bounce rate under 2%. Third, some vendors say they can resolve single addresses. ZeroBounce says it does so on Microsoft 365, Google Workspace and major secure email gateways, Emailable says it can for certain domains, and Hunter says it uses a proprietary method with several major providers. All three say some addresses stay unresolved. We did not test these methods, and you cannot inspect them.

A label is also a reading from one moment. Hunter's FAQ says a domain can shift from Valid to Accept-all or Invalid as mail servers change, and ZeroBounce says a domain's catch-all setup can change. Re-check before a large send. Catch-all is not the same as unknown, which means the check did not finish. The [bulk email verification guide](https://enrich.chat/blog/bulk-email-verification/) covers re-checks, and the [email verification tools](https://enrich.chat/blog/email-verification-tools/) comparison covers what each tool charges for catch-all results.

## Is it safe to email a catch-all address?

Not without a second sign that the person is real. A catch-all server accepts your message during the send, and the failure can come back later. Vendor figures for how often vary a lot, as the table shows.

| Source | Figure | What stands behind it |
| --- | --- | --- |
| [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) | 27% bounce for accept-all, 1% for valid | Its own test: 100 addresses per group, one campaign |
| [BulkMail](https://kb.bulkmail.co.za/what-is-a-catch-all-or-accept-all-email/) | Up to 5% of catch-alls bounce when the list is 10% invalid | An example in its knowledge base, no method given |
| [Smartlead](https://www.smartlead.ai/blog/cold-email-bounce-rate) | 8% or more on some catch-all-heavy lists | A statement in its cold email guide, no method given |
| [ZeroBounce](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-status-codes) | Under 2% for domains on its accept_all list | The vendor's long-term sending data. It returns those as valid |

Hunter is the only vendor in that table that describes how it got its figure. It picked a couple of hundred people with similar job titles, industry and location, and found their addresses with Hunter's Email Finder. It then took 100 accept-all addresses and 100 valid ones and sent both groups the same campaign. Figure 2 shows the result. With 100 addresses per group, read it as a sign of direction, not as a rate you will see.

**Figure 2: Bounce rate in Hunter's test: accept-all against valid addresses.** A bar chart of one campaign sent to two groups of 100 addresses. The accept-all group had a 27% bounce rate. The valid group, used as the control, had a 1% bounce rate.

*Bounce rate for 100 accept-all and 100 valid addresses that received the same campaign. This is a vendor's own small test, not an independent study. Source: [Hunter's accept-all guide](https://hunter.io/email-verification-guide/accept-all-catch-all/), read October 16, 2026.*

Three risks sit behind a catch-all result:

- **Late bounces.** Smartlead says a catch-all address can produce a delayed bounce hours or days after the send, and that it counts against your bounce rate like an immediate one. It names these late rejections as one of three main causes of bounces. Our [hard versus soft bounce](https://enrich.chat/blog/hard-bounce-vs-soft-bounce/) guide explains how to read the notice, and the [email bounce rate](https://enrich.chat/blog/email-bounce-rate/) guide lists the limits sending platforms enforce.
- **A shared inbox nobody reads.** Hunter notes that a message that does not bounce may have landed in a catch-all mailbox, where it is unlikely to be read. Bouncer adds that engagement numbers from such addresses may not reflect real people.
- **Spam traps.** Spamhaus says traps can sit at wildcard domains, as shown above.

## How can you check whether a domain is catch-all?

Use the free [catch-all checker](https://enrich.chat/tools/catch-all-checker/). Type a domain, such as example.com, or paste a full email address. The tool reports whether the domain is catch-all, which mail provider runs it, and its MX records. It sends no test email. Each check uses 1 of your 10 free lookups, shared across Enrich.chat's website tools, and a check that finds no result does not use one.

How to read the answer:

- **Yes.** The domain accepts every address. Treat each address there as unconfirmed, and use the evidence ladder in the next section.
- **No.** The domain refuses names it does not know, so a mailbox check can say something about one person. It does not show that your guess exists. Confirm a specific person with the [email finder](https://enrich.chat/tools/email-finder/) or a verifier.
- **Check again later.** Settings change, so a result is a reading from one day.

The [email format finder](https://enrich.chat/tools/email-format-finder/) also shows whether a domain is catch-all, next to its most common address pattern.

## How should you treat a catch-all address?

Treat it as unconfirmed, and decide by what else you know about the address. The label is the same for a guess and for an address that just replied to you, but the risk is not. Figure 3 ranks four kinds of evidence. The ranking is this guide's suggestion, built on advice from Hunter and BulkMail.

**Figure 3: What you know about a catch-all address, and what to do.** A four row ladder from strongest to weakest evidence. The person replied or confirmed by a link: treat as a valid address and still watch bounces. Seen on several recent public pages: send, with a little more bounce risk than a valid address. Fits a real colleague's address format and nothing more: test a small share only, 2% to 5% of the list. A guess from a name pattern: do not email it, try another channel.

*Four kinds of evidence for an address on a catch-all domain. The 2% to 5% cap and the advice to look for web sources come from [Hunter's accept-all guide](https://hunter.io/email-verification-guide/accept-all-catch-all/), and the source test from [BulkMail's knowledge base](https://kb.bulkmail.co.za/what-is-a-catch-all-or-accept-all-email/). The ladder itself is this guide's suggestion.*

- **Do not drop them all.** Hunter and ZeroBounce both say catch-all addresses should not be discarded automatically. Many belong to real people.
- **Keep them apart.** Put catch-all rows in their own group, never in the verified group, as ZeroBounce's status guide suggests.
- **Weigh the source.** BulkMail says to keep catch-all addresses from first-party, recent data in a test segment, and to remove them when the data is rented, bought or old. Hunter says an address that shows up in several recent web sources is very likely safe to contact.
- **Cap the share.** Hunter suggests 2% to 5% of a list. On a send of 400 rows, that is 8 to 20 catch-all rows.
- **Send small, from a warm domain, and watch.** BulkMail suggests small batches, a separate sending domain or account, and removing any address that hard bounces. The routine on our catch-all checker page adds a week of watching for late bounces.
- **Do not mail every guess.** Hunter's other option is a different channel, such as LinkedIn. Mailing every pattern of a name is also a legal risk, which the catch-all checker page explains. This is not legal advice.

## How does Enrich.chat handle catch-all email addresses?

Each work email that Enrich.chat finds comes back with a status label: `verified`, `catch_all` or `unknown`. The `catch_all` label means the domain accepts every address, so the mailbox cannot be confirmed. A label is not a delivery guarantee, and every contact is a strong lead, not a certainty. Enrich.chat's [agent docs](https://enrich.chat/agents.md) tell AI agents to treat `catch_all` as risky and to say so.

Here is a lookup for a fictional person on example.org. The response is illustrative. Give `/v1/person` a name and a company website, and ask for the email field only.

```
GET /v1/person?name=Tomas%20Reyes&company=example.org&fields=email

{
  "found": true,
  "name": "Tomas Reyes",
  "title": "Head of Operations",
  "company": {"name": "Example Org"},
  "work_email": {"value": "tomas.reyes@example.org", "status": "catch_all"},
  "credits_used": 10,
  "free_lookups_remaining": 9
}
```

A verified result has the same shape with `"status": "verified"`. When nothing matches, the response is `{"found": false}` and the lookup uses 0 credits. A work email found uses 10 credits, as in the response above. The table shows how an agent should treat each result.

| Result | What it tells you | What the agent writes | What you do |
| --- | --- | --- | --- |
| verified | The mailbox is labelled verified | The address, marked verified | Send first, in small batches, and watch bounces |
| catch_all | The domain accepts every address, so the mailbox cannot be confirmed | The address, marked risky, in a hold group | Look for a second sign (Figure 3). Test only a small share |
| unknown | Not verified | The address, marked unconfirmed | Hold it until you can check it another way |
| found is false | No address returned | Not found, with nothing invented | Skip it. Nothing is used |

Credit maths: a list of 400 people, each with a name and a company website, needs 4,000 credits if every row returns an email. That fits the Growth plan at $29 a month. Rows that return nothing use 0 credits, and your agent gets 10 free lookups a day with no signup. If you follow Hunter's cap, 8 to 20 of the catch_all rows go in the first send.

Know the gaps before you build on it:

- Enrich.chat does not turn a `catch_all` into a yes or no for one mailbox. A verifier may resolve some, and the vendors above say some stay unresolved.
- There is no standalone verification endpoint. The email input on `/v1/person` finds the person behind a work email. It does not tell you whether the address delivers, and personal mailboxes such as Gmail are not looked up.
- The self-serve plans have no bulk upload or export. Your agent looks up one person at a time, at about one request a second.
- A search with `with_email=true` returns the work email with the status `unknown`. Use `/v1/person` or `/v1/email` when you need the status.

This prompt sorts the results into the groups above:

```text
Use www.enrich.chat to find the work email for each person in this list of names and company websites. Show the status exactly as returned. Put verified rows in a send group. Put catch_all and unknown rows in a hold group, and mark each catch_all row as risky because the domain accepts every address. List each catch_all domain once so I can check it with the catch-all checker. Never guess an address from a pattern, and tell me the total credits_used.
```

After the free lookups, monthly plans start at $29 for 100,000 credits, as the [pricing page](https://enrich.chat/pricing/) shows. The [email finder API](https://enrich.chat/api/email-finder/) page covers the endpoint, the [install page](https://enrich.chat/install/) has steps for ChatGPT, Claude, Cursor and Codex, and [Enrich.chat for AI agents](https://enrich.chat/agents/) shows how an agent reads the API. To find one address by hand, use the free [email finder](https://enrich.chat/tools/email-finder/). Our guides to [ChatGPT and email addresses](https://enrich.chat/blog/can-chatgpt-find-email-addresses/), [business email formats](https://enrich.chat/blog/email-address-formats/) and [database hygiene](https://enrich.chat/blog/database-hygiene/) cover the work around it.

## Frequently asked questions

### What does catch-all mean in email?

Catch-all, also called accept-all, means a mail domain accepts messages for any address, even one with no mailbox. A normal server answers 550 when it does not know the recipient, as [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3) describes. A catch-all server answers 250 OK instead. In email verification the word is also a result label: the address sits on such a domain, so the verifier cannot confirm the mailbox.

### Is catch-all the same as accept-all?

Yes. Both words describe a domain that takes mail for any address. Vendors print their own labels: Hunter says Accept-all, ZeroBounce and Mailgun say catch-all, Emailable says Risky (Accept-All), and Bouncer says risky with an acceptAll flag. One trap: ZeroBounce also has an accept_all sub-status for domains on its own allow-list and returns those as valid. Read what a tool's label means before you act on it.

### Is it safe to send emails to a catch-all address?

Only with care. A catch-all server accepts your message during the send, and a bad address can bounce later. In [Hunter's own test](https://hunter.io/email-verification-guide/accept-all-catch-all/) of 100 addresses per group, the bounce rate was 27% for accept-all addresses against 1% for valid ones. Hunter suggests keeping accept-all addresses to 2% to 5% of a list. Send only with a second sign the person is real, and watch the bounces.

### How do I set up a catch-all email address?

It depends on your mail software. In Google Workspace, an admin adds a Gmail routing setting that replaces the envelope recipient for inactive and unrecognized accounts, as [Google's guide](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) explains. In Postfix, one line such as @example.com jim in the virtual alias map does it, and the [Postfix guide](https://www.postfix.org/VIRTUAL_README.html) warns of spam. In cPanel, use Default Address. Each method makes the domain read as catch-all to verifiers.

### Can you verify a catch-all email address?

Not from the server reply alone, because the server says yes to real and made-up names. Some vendors say they can resolve many addresses another way: [ZeroBounce](https://www.zerobounce.net/email-types/catch-all-emails) says it can on Microsoft 365 and Google Workspace, while Hunter says not every accept-all address can be verified with full confidence. Other proof is practical: a reply from the address, several recent web pages that show it, or a confirmation link. We did not test vendor methods.

### How does Enrich.chat label catch-all emails?

Each work email Enrich.chat finds comes back with a status: verified, catch_all or unknown. The catch_all status means the domain accepts every address, so the mailbox cannot be confirmed, and the agent docs tell AI agents to treat it as risky. The status is a label, not a delivery guarantee. The free [catch-all checker](https://enrich.chat/tools/catch-all-checker/) tests a domain. See the [email finder API](https://enrich.chat/api/email-finder/).

## Sources

1. [RFC 5321: Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc5321.html)
2. [Postfix Virtual Domain Hosting Howto](https://www.postfix.org/VIRTUAL_README.html)
3. [Rejecting Unknown Local Recipients with Postfix](https://www.postfix.org/LOCAL_RECIPIENT_README.html)
4. [Get misaddressed email in a catch-all mailbox](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox)
5. [Gmail SMTP errors and codes](https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes)
6. [Manage accepted domains in Exchange Online](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains)
7. [Use Directory-Based Edge Blocking to reject messages sent to invalid recipients in Exchange Online](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking)
8. [Exchange rule: mailbox doesn't exist (moderator answer)](https://learn.microsoft.com/en-us/answers/questions/546512/exchange-rule-mailbox-doesnt-exist)
9. [Default Address](https://docs.cpanel.net/cpanel/email/default-address/)
10. [Recipient verification in Exchange and Microsoft 365](https://documentation.n-able.com/spamexperts/userguide/Content/Integration/recip-veri-exch-o365.htm)
11. [What Are Accept-all Email Addresses, and How to Use Them](https://hunter.io/email-verification-guide/accept-all-catch-all/)
12. [Email Verification FAQs](https://help.hunter.io/en/articles/15899247-email-verification-faqs)
13. [Catch-All Emails: What They Are and How to Verify Them](https://www.zerobounce.net/email-types/catch-all-emails)
14. [API Status Codes (v2)](https://www.zerobounce.net/docs/email-validation-api-quickstart/v2-status-codes)
15. [Single Validation](https://documentation.mailgun.com/docs/validate/single-valid-ir)
16. [Integration Guidelines](https://docs.usebouncer.com/integration-guidelines)
17. [Catch All Email Verification: What it Is and How to Do it](https://www.usebouncer.com/catch-all-email-verification/)
18. [Understanding Accept-All Verification](https://emailable.com/docs/email-verification/special-email-types/understand-accept-all-verification)
19. [What Is a Catch-All or Accept-All Email?](https://kb.bulkmail.co.za/what-is-a-catch-all-or-accept-all-email/)
20. [Cold email bounce rate: what's good and how to fix it](https://www.smartlead.ai/blog/cold-email-bounce-rate)
21. [Catchall domains](https://www.wordtothewise.com/2017/11/catchall-domains/)
22. [Spamtraps: fix the problem, not the symptom](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/)

## Try this prompt

Sort work emails by catch-all risk

```text
Use www.enrich.chat to find the work email for each person in this list of names and company websites. Show the status exactly as returned. Put verified rows in a send group. Put catch_all and unknown rows in a hold group, and mark each catch_all row as risky because the domain accepts every address. List each catch_all domain once so I can check it with the catch-all checker. Never guess an address from a pattern, and tell me the total credits_used.
```

## Related

- [Catch-all email checker](https://enrich.chat/tools/catch-all-checker/)
- [Email validation explained](https://enrich.chat/blog/email-validation/)
- [Bulk email verification, step by step](https://enrich.chat/blog/bulk-email-verification/)
