Catch-all email
Updated October 19, 2026
A catch-all email domain is a mail domain set up to accept messages for any address at that domain, including addresses that do not exist. Mail to a mistyped or unknown name reaches a chosen mailbox instead of bouncing. Because the server accepts every recipient, an email verifier cannot confirm that one specific person's mailbox exists there.
In short: A catch-all email domain accepts mail for every address at the domain, so verification returns a catch-all status instead of a clear valid or invalid result for any single address.
How catch-all email works
An email verifier checks an address by asking the domain's mail server about it, without sending a message. In SMTP, the sender names each recipient with a RCPT TO command and reads the server's reply 1. RFC 5321 defines the replies 1. An accepted recipient gets 250 OK 1. A recipient the server knows is undeliverable gets a 550 reply, often with text such as no such user 1.
A catch-all server breaks that test. Administrators set one up so that mail sent to incorrect or non-existent addresses at their domain still arrives in one mailbox instead of being lost 2. The server therefore accepts every address at the domain at the SMTP handshake, real or invented, so the replies for a real employee and for a random string look the same 3. The reply carries no signal about the person.
Some servers weaken the test in a different way. RFC 5321 notes that some servers do not verify recipients until after the message text is received 1. A verifier that stops before the message text never sees their rejection.
A verifier that meets a catch-all domain has to report uncertainty. RichAPI Email verifier returns a status label for catch-all domains next to three flags, valid, disposable and mxFound, where mxFound shows whether the domain has a mail exchanger at all 3. The reference advises branching on status rather than on valid alone 3.
Catch-all handling is part of email verification, and it sits next to the other verification statuses. You may also see the same setup called an accept-all domain.
Why catch-all email matters for outbound
Catch-all domains create a group of addresses that are neither proven good nor proven bad. You can send to them and accept some bounces, drop them and lose real prospects, or treat them as their own segment.
Dropping every catch-all row can remove real people, because a catch-all domain may still hold a working mailbox for each person you want to reach. Sending to all of them at full volume has a different cost. On a catch-all domain, a message to an invented name lands in a shared mailbox, such as the info mailbox in Google's example, and not with the person you meant 2. Some servers also accept at the handshake and reject the message only after its text arrives 1. Those rejections show up in your bounce rate.
The middle path is a separate track. The RichAPI verifier reference recommends sending catch-alls from a warmer sending domain with a tighter volume cap, rather than treating them as either safe or dead 3. The RichAPI catch-all handling playbook gives two other branches, trying a personal address or dropping the row. A matching email format at the company raises confidence in an address, though it does not prove the mailbox exists.
Example of catch-all email
Google Workspace documents how an administrator sets up a catch-all 2. The admin first picks the mailbox that will receive the mail, which can be an existing user account, a new user account or a Google Group 2. Then, in the Admin console under Gmail routing, the admin adds a setting for inbound messages, changes the envelope recipient to the catch-all address, and applies it to all inactive and unrecognized accounts 2. Google's own example routes mail for help and support addresses at a sample company domain into one info mailbox 2.
Seen from outside, mail to any unknown name at that domain is accepted and delivered to the chosen mailbox. A verifier that asks about a made-up name gets the same acceptance as for a real employee 3.
The RichAPI Email verifier reference sets out how to use a result from such a domain 3. First drop rows where mxFound is false, because that domain cannot receive mail. Then drop disposable addresses if you are doing B2B 3. Then route on status, and keep catch-all rows on their own track 3.
The billing follows the same logic. A verifier call that returns a verdict costs 2 credits, and the catalog counts a catch-all verdict as a delivered result that bills normally 4. Only a call where no source reached any verdict costs zero 4.
Catch-all vs no verdict
Both outcomes mean the verifier could not confirm the mailbox, for different reasons. A catch-all result means the server answered and accepted everything. No verdict means the sources ran and none could reach a conclusion. At RichAPI they also bill differently 4. The next step differs too. A catch-all row has a domain that accepts mail, so the open question is whether a person reads that address. A row with no verdict has no evidence either way, so you can retry later or look for another address for the same person. Keeping the two in one bucket hides that difference and mixes two costs in one report.
| Catch-all | No verdict, see verification statuses | |
|---|---|---|
| What it answers | Does this domain accept any address? | Could any source reach a verdict? |
| Input | One email address | One email address |
| Output | A catch-all status label in the response | success false, result null, billed false |
| Cost driver | Billed as a delivered result, 2 credits | Zero credits |
| Main risk | Treating acceptance as proof that the person exists | Reading a missing verdict as an invalid address |
| Use it when | Route the row to a separate sending track | Retry later or drop the row |
Frequently asked questions
What is catch-all email status?
Catch-all status means the domain's mail server accepts mail for any address, so a verifier cannot tell whether the specific mailbox exists. It is neither valid nor invalid. Treat it as uncertain, and decide how to send to those rows separately from verified ones.
Can you verify an email on a catch-all domain?
Not with an SMTP check alone, because the server accepts every recipient at the handshake 3. You can raise confidence with other evidence, such as a current job record and a matching company email format, but none of that proves the mailbox exists.
Should I send to catch-all emails?
You can, with care. The RichAPI verifier reference suggests a separate track for catch-all rows, with a warmer sending domain and a tighter volume cap 3. Watch the bounce rate on that segment before you raise the volume.
Is a catch-all domain the same as an accept-all domain?
Yes. Accept-all and catch-all describe the same setup, a domain whose mail server accepts messages for any address at that domain. Verification tools use either label, and both lead to the same uncertain result for a single address.
The bottom line
A catch-all email domain accepts every address, so verification cannot confirm one person's mailbox there. The status means uncertain, and it is neither good nor bad. Keep catch-all rows on their own sending track, add other evidence before you trust an address, and watch bounces on that segment before you scale it.
Sources
- RFC 5321, Simple Mail Transfer Protocol, IETF, RFC Editor
- Get misaddressed email in a catch-all mailbox, Google Workspace Admin Help
- Email verifier reference, RichAPI
- RichAPI llms-full.txt (catalog and billing rules), RichAPI