> 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/tools/catch-all-checker/

> **Note for agents:** this tool is a web form that people use in a browser, so you cannot submit it. Use the Enrich.chat API instead, as described in https://enrich.chat/agents.md .

# Catch-all email checker: find out if a domain accepts every address

Enter a domain or an email address. You see whether its mail server accepts mail for any address, which provider runs its email, and its MX records.

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

## What you get

- Catch-all yes or no: does the server accept every address?
- The mail provider, such as Google Workspace or Microsoft 365
- The domain's MX records, the servers that receive its mail

Your 10 free lookups are shared across Enrich.chat's free tools. A check with no result does not use one.

**Short answer:** A catch-all (accept-all) email domain accepts mail for any address, even mailboxes that do not exist. Its server answers 250 OK to every recipient, the reply [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3) defines for an accepted address, so no verifier can confirm one person's mailbox there. Enrich.chat's free checker tells you if a domain is catch-all and shows its mail provider and MX records.

## Key takeaways

- A catch-all domain answers 250 OK to every recipient, so no SMTP check can confirm one person's mailbox.
- Checkers detect it by asking the server about a random address that cannot exist. No email is sent.
- Google Workspace and Microsoft 365 reject unknown addresses by default. A catch-all is a choice an admin makes.
- Send to a catch-all address only with a second sign it is real, in small batches, and watch for late bounces.

## Three steps, a few seconds

1. **Enter a domain or email.** Type a company domain, such as acme.com, or paste a full email address. The checker tests the part after the @.
2. **We read the domain's records.** Enrich.chat looks up the domain's MX records and shows whether the delivery checks on record say it accepts every address. It sends no test email.
3. **Read the result.** See catch-all yes or no, the mail provider and the MX records. If the answer is yes, treat every address there as unconfirmed.

## What is a catch-all email domain?

A catch-all email domain accepts mail sent to any address at that domain, even if no mailbox exists for it. People also call it an accept-all or wildcard domain. A normal domain rejects mail for an unknown address. A catch-all domain says yes and keeps it.

Companies turn it on so they do not lose mail. [Google Workspace's admin guide](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) describes it as a way to collect messages sent to incorrect or non-existent addresses in one mailbox, such as mail for help@ and support@ landing in info@. [ZeroBounce](https://www.zerobounce.net/email-types/catch-all-emails), a verifier vendor, adds typos, wrong guesses at the email format, and the addresses of staff who have left. [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/), another vendor, says some domains now use the setting mainly to stop email finders from guessing their way to valid addresses.

How common is it? Hunter's own analysis of 2,572 email addresses found [38% of email domains configured as accept-all](https://hunter.io/email-verification-guide/accept-all-catch-all/), and it notes that the share varies by industry and location. That is one vendor's sample, not a census.

## How do you set up a catch-all in Google Workspace and Microsoft 365?

Both providers reject mail for unknown addresses by default, so a catch-all is a choice an admin makes. In Google Workspace it takes one routing setting. In Microsoft 365 it takes a domain change plus a mail flow rule.

### Google Workspace

Without a catch-all, Gmail answers mail for an account that does not exist with [error 550 5.1.1](https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes). [Google's catch-all guide](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) sets one up in three steps:

1. In the Admin console, go to Apps, Google Workspace, Gmail, Routing, and add a setting for inbound messages.
2. Choose Modify message, check Change envelope recipient, and replace the recipient with the catch-all address. That can be a user or a Google Group.
3. Under account types, check All inactive and unrecognized accounts, and leave Active user account and Group account unchecked. Save. Changes can take up to 24 hours.

### Microsoft 365

Exchange Online's [Directory-Based Edge Blocking](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking) rejects mail for unknown recipients at the network edge with the error "550 5.4.1 Recipient address rejected: Access denied." A [Microsoft moderator's answer on Microsoft Q&A](https://learn.microsoft.com/en-us/answers/questions/546512/exchange-rule-mailbox-doesnt-exist) gives three steps to catch that mail. Change the accepted domain from Authoritative to Internal relay, which [Microsoft's accepted domains guide](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains) says passes unknown recipients on instead of rejecting them. Create a group that holds every valid recipient. Then add a mail flow rule that redirects mail for anyone outside that group to the catch-all mailbox.

| Provider | MX record | Unknown address | Catch-all setup |
| --- | --- | --- | --- |
| Google Workspace | `smtp.google.com` (older: `aspmx.l.google.com`) | Rejected: 550 5.1.1 | Gmail routing setting |
| Microsoft 365 | `<token>.mail.protection.outlook.com` | Rejected: 550 5.4.1 | Internal relay plus a mail flow rule |

The MX values come from [Google's MX setup guide](https://knowledge.workspace.google.com/admin/domains/set-up-mx-records-for-google-workspace) and [Microsoft's DNS reference](https://learn.microsoft.com/en-us/microsoft-365/enterprise/external-domain-name-system-records). The checker on this page reads the same records to name a domain's mail provider.

## How does a catch-all checker detect an accept-all domain?

A catch-all checker asks the domain's mail server to accept an address that cannot exist. If the server says yes, the domain is catch-all. No email is sent.

1. **Find the mail server.** The checker looks up the domain's MX records, the same lookup any sender makes under [Section 5.1 of RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-5.1).
2. **Name a random address.** It opens an SMTP session and names a made-up recipient, such as x7q2zk9@, with the RCPT TO command.
3. **Read the reply.** Under [Section 3.3 of RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3), a server replies 250 OK when it accepts a recipient and 550 when the address is known not to be deliverable. A 550 for the random address means the server checks its mailboxes. A 250 means it accepts everyone.
4. **Stop before sending.** The checker ends the session before the DATA command, so no message goes out. [Hunter's guide](https://hunter.io/email-verification-guide/accept-all-catch-all/) calls this kind of check SMTP tickling.

**Figure 1: The same SMTP probe on a normal domain and a catch-all domain.** A verifier names a real address and a random address with RCPT TO. The normal domain answers 250 OK for the real address and 550 5.1.1 no such user for the random one, so the mailbox is verified. The catch-all domain answers 250 OK for both, so the person cannot be confirmed. The verifier quits before any message is sent.

*The same check on two domains. Only the reply to the made-up address differs, and that one line decides the result. Source: reply codes and commands from [IETF RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3), the 5.1.1 code from [Google's SMTP error list](https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes).*

The checker at the top of this page returns three things: catch-all yes or no, the mail provider, and the MX records. You can enter a domain or a full email address. Each check uses 1 of your 10 free lookups. If the domain is not catch-all, the [email finder](https://enrich.chat/tools/email-finder/) can confirm a specific person's mailbox.

## Why do email verifiers return accept-all or unknown?

A verifier returns accept-all when the server says yes to every address, and unknown when the server gives no usable answer. Neither result says the address is bad. Both say the server would not confirm it.

- **A true catch-all.** An admin added a routing setting like the ones above.
- **A domain in transition.** Microsoft tells admins who are moving to Exchange Online to [leave the domain as Internal relay](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking) until every valid recipient has been added. Until then, the edge accepts unknown recipients and passes them to the old mail server, which may reject them later.
- **Greylisting, timeouts and blocks.** Some servers send a temporary 4xx error to unfamiliar senders and wait for a retry, a method [RFC 6647](https://www.rfc-editor.org/rfc/rfc6647.html) calls greylisting. Others time out or refuse checks. These produce unknown, not accept-all.

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

Not without care. A catch-all server can accept your email, then bounce it, drop it into a shared inbox nobody reads, or hand it to a spam trap.

**Figure 2: Where an email goes after a catch-all server accepts it.** A catch-all server answers 250 OK for every recipient, whether or not a mailbox exists. The email then takes one of three paths: it is delivered to a real mailbox, it is routed to a shared catch-all inbox, or the server rejects it later and a bounce comes back to the sender.

*The three outcomes behind a catch-all 250 OK. Sources: the three scenarios from [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) (vendor content), catch-all routing from [Google Workspace](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox), and bounce notices from [IETF RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-6.1).*

- **Late bounces.** [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-6.1) says a server that accepts a message and then fails to deliver it must send a failure notice back. So the bounce comes after the send, not during the check. In a vendor test, [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) sent the same campaign to 100 accept-all and 100 valid addresses and saw bounce rates of 27% and 1%.
- **Spam traps.** [Spamhaus](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/) says some classic spamtraps are addresses at wildcard domains that accept mail to any local part. A guessed address at a catch-all domain can be one of them.
- **Sender reputation.** [Google's sender guidelines](https://support.google.com/mail/answer/81126) tell senders to keep spam rates below 0.3%, to unsubscribe recipients after multiple bounces, and to cut volume when bounces rise. [Yahoo's sender best practices](https://senders.yahooinc.com/best-practices/) set the same 0.3% limit and say to remove invalid recipients promptly.

## How do you send to catch-all emails safely?

Send to a catch-all address only when a second signal says it is real, and then only in small batches you watch closely.

1. **Confirm the format from a real colleague.** Find one working address at the same domain, for example on the company's website, in a press release, or in a reply you got. If it reads first.last@, use the same pattern. The [email format finder](https://enrich.chat/tools/email-format-finder/) and our guide to [business email formats](https://enrich.chat/blog/email-address-formats/) show the common patterns.
2. **Send to one address per person.** Do not mail every guess from the [email permutator](https://enrich.chat/tools/email-permutator/). Under [15 U.S.C. 7704(b)](https://www.law.cornell.edu/uscode/text/15/7704), sending an unlawful commercial email to addresses made by combining names, letters or numbers into many permutations is an aggravated violation.
3. **Keep batches small.** Hunter, a vendor, suggests keeping accept-all addresses to [2% to 5% of a list](https://hunter.io/email-verification-guide/accept-all-catch-all/). Google tells senders to [start with a low volume to engaged users](https://support.google.com/mail/answer/81126) and increase it slowly.
4. **Use a warm sending domain.** Send from a domain with a steady sending history, and keep cold tests away from the domain that sends your invoices. Yahoo advises [separating mail types by IP or DKIM domain](https://senders.yahooinc.com/best-practices/), because each one builds its own reputation.
5. **Watch bounces for about a week.** A server that cannot pass a message on keeps trying. [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-4.5.4.1) says the give-up time should generally be at least 4 to 5 days. Remove any address that bounces, and slow down if bounces climb.
6. **Use another channel for pure guesses.** With no second signal, call or message the person instead. The [LinkedIn email and phone finder](https://enrich.chat/tools/linkedin-email-finder/) returns a mobile with its line type, and the [phone number validator](https://enrich.chat/tools/phone-number-validator/) checks a number you already have.

**Figure 3: Send, test or skip: a guide for catch-all addresses.** Three questions in order. If the domain is not catch-all, verify each address as normal. If it is catch-all and the address has worked before, send as normal and watch bounces. If the format is confirmed by a colleague's real address, test in small batches and watch for late bounces. Otherwise skip email and call or use LinkedIn, and never mail every pattern of a name.

*A send, test or skip guide for catch-all addresses. Sources: volume advice from [Google's sender guidelines](https://support.google.com/mail/answer/81126), batch advice from [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) (vendor content), and the permutation rule from [15 U.S.C. 7704(b)](https://www.law.cornell.edu/uscode/text/15/7704).*

Enrich.chat labels every work email it returns as verified, catch_all or unknown, so you can keep catch-all rows apart from verified ones. Its [agent docs](https://enrich.chat/agents.md) tell AI agents to treat catch-all emails as risky and to say so. Paste this prompt into ChatGPT, Claude or Cursor:

```text
Use www.enrich.chat to find the work email for each person in this list of names and company websites. Mark every catch_all result as risky and put those rows in a separate group so I can test them in small batches.
```

Your agent gets 10 free lookups a day. After that, monthly plans start at $29 for 100,000 credits, and a work email found uses 10 credits, as the [pricing page](https://enrich.chat/pricing/) shows. For setup, see [Enrich.chat for AI agents](https://enrich.chat/agents/). Our guide on [how to find anyone's work email](https://enrich.chat/blog/how-to-find-someones-email/) covers other methods.

## Frequently asked questions

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

In email verification, catch-all means the domain's mail server accepted an address that cannot exist, so it accepts every recipient. The verifier can tell that the domain takes mail, but not that one person's mailbox is real. [ZeroBounce](https://www.zerobounce.net/email-types/catch-all-emails) and [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/), both verifier vendors, treat the result as a risk signal rather than a pass or a fail. Treat a catch-all email as likely, not certain.

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

Only with care. A catch-all server can accept your email and bounce it later, and [Spamhaus](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/) says some spam traps sit at domains that accept mail to any address. In a vendor test, [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) saw a 27% bounce rate on 100 accept-all addresses against 1% on 100 valid ones. Send to catch-all addresses only when you have a second sign they are real, in small batches from a warmed-up domain, and watch bounces for about a week.

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

In Google Workspace, an admin adds a Gmail routing setting that sends mail for all inactive and unrecognized accounts to one mailbox or group, as [Google's catch-all guide](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox) explains. In Microsoft 365, Exchange Online [rejects unknown recipients by default](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/use-directory-based-edge-blocking), so the admin first switches the domain from Authoritative to Internal relay, then adds a mail flow rule that redirects that mail. Either way, the domain then shows as catch-all to every verifier.

### Can you verify an email address on a catch-all domain?

Not over SMTP alone, because the server gives the same 250 OK for real and fake addresses. You can look for other proof: a reply from the address, an email signature, or the address on the company's website. [Hunter](https://hunter.io/email-verification-guide/accept-all-catch-all/) says an address found in several recent web sources is much more likely to exist. Some vendors sell deeper catch-all checks, but Hunter itself says not every accept-all address can be verified with full confidence.

### Is this catch-all checker free?

Yes. The catch-all checker needs no signup. Each check uses 1 of the 10 free lookups shared across the Enrich.chat website tools, and a check that finds no match does not use one. For lists of people, ask your AI agent to use the Enrich.chat API instead. It gets 10 free lookups a day, and every work email it returns is labelled verified, catch_all or unknown. See [Enrich.chat pricing](https://enrich.chat/pricing/) for the monthly plans.

### Why does my email verifier say unknown instead of catch-all?

Unknown means the mail server gave no usable answer. Catch-all means it said yes to everything. Servers cause unknown results when they greylist, sending a temporary 4xx error to unfamiliar senders as [RFC 6647](https://www.rfc-editor.org/rfc/rfc6647.html) describes, or when they time out or block checks. Hold unknown addresses and check them again later. Do not send to one until a check comes back verified or you have another sign that the mailbox is real.

## Sources

1. [RFC 5321: Simple Mail Transfer Protocol](https://www.rfc-editor.org/rfc/rfc5321.html)
2. [RFC 6647: Email Greylisting, an Applicability Statement for SMTP](https://www.rfc-editor.org/rfc/rfc6647.html)
3. [Get misaddressed email in a catch-all mailbox](https://knowledge.workspace.google.com/admin/gmail/advanced/get-misaddressed-email-in-a-catch-all-mailbox)
4. [Gmail SMTP errors and codes](https://knowledge.workspace.google.com/admin/support/troubleshooting/gmail-smtp-errors-and-codes)
5. [Set up MX records for Google Workspace](https://knowledge.workspace.google.com/admin/domains/set-up-mx-records-for-google-workspace)
6. [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)
7. [Manage accepted domains in Exchange Online](https://learn.microsoft.com/en-us/exchange/mail-flow-best-practices/manage-accepted-domains/manage-accepted-domains)
8. [Exchange rule: mailbox doesn't exist (moderator answer)](https://learn.microsoft.com/en-us/answers/questions/546512/exchange-rule-mailbox-doesnt-exist)
9. [External Domain Name System records for Microsoft 365](https://learn.microsoft.com/en-us/microsoft-365/enterprise/external-domain-name-system-records)
10. [Email sender guidelines](https://support.google.com/mail/answer/81126)
11. [Sender best practices](https://senders.yahooinc.com/best-practices/)
12. [Spamtraps: fix the problem, not the symptom](https://www.spamhaus.org/resource-hub/deliverability/spamtraps-fix-the-problem-not-the-symptom/)
13. [What Are Accept-all Email Addresses, and How to Use Them](https://hunter.io/email-verification-guide/accept-all-catch-all/)
14. [Catch-All Emails: What They Are and How to Verify Them](https://www.zerobounce.net/email-types/catch-all-emails)
15. [15 U.S. Code 7704: Other protections for users of commercial electronic mail](https://www.law.cornell.edu/uscode/text/15/7704)

## Get the catch-all flag on every email

Ask your AI agent to find work emails through the Enrich.chat API. Each one comes back labelled verified, catch_all or unknown. 10 free lookups a day, then monthly plans from $29, where a work email found uses 10 credits.

```bash
curl "https://enrich.chat/v1/email?name=Jane%20Doe&domain=acme.com"
```

## Try this prompt

Flag catch-all emails from your agent

```text
Use www.enrich.chat to find the work emails for this list of names and company websites, and flag every catch-all result as risky
```

## Related

- [Free email finder](https://enrich.chat/tools/email-finder/)
- [Email format finder](https://enrich.chat/tools/email-format-finder/)
- [Business email address formats](https://enrich.chat/blog/email-address-formats/)
