Catch-all email checker

Some domains say yes to every address, real or not. Enter any address at a domain and we probe a random mailbox beside it to show you which kind it is.

Use a real address if you have one. We also probe a random one at the same domain.

Enter an address to find out whether its domain accepts every mailbox.

The short version

  • Catch-all: the server accepted a mailbox we invented. Any address at this domain will look valid, so treat those addresses as unproven.
  • Not a catch-all: the server refused the fake mailbox, so its answer about your address is a real one.
  • No verdict: greylisting or a throttle held the answer back. Run the check again in a few minutes.

How the random-address probe works

A catch-all domain is set up to accept mail for any name. So asking its server about your address proves nothing: it would say yes to anything. The test is to ask about an address that can't exist and see what happens.

ZapBounce sends RCPT TO for a long random mailbox at the same domain, once per domain. If that gets 250, the domain is a catch-all and every address on it comes back as catch_all. If it gets 550, the server tells real names from fake ones, and your address gets a plain valid or invalid.

We stop there. We don't guess further, and we never fold a catch-all into valid. You see the label and decide what to do with those rows.

Your address getsRandom address getsResult
250550valid
550550invalid
250250catch_all
4xx or no replyAnyunknown

One probe per domain. Codes as defined in RFC 5321.

What to do with catch-all addresses

Catch-alls are common on company domains. Around 28% of a 10,000-address B2B benchmark sat on them, so you'll meet plenty. Deleting all of them throws away real people; mailing all of them blind risks bounces your verifier never warned you about.

Keep them in their own segment, send to it in smaller batches and cut the ones that never open or reply. The catch-all handling guide lays out that routine, and this answer covers when removing them makes sense.

On a full list, the bulk verifier labels every catch-all row for you. A catch-all result uses one credit; an unknown uses none.

Catch-all questions

How do I check if a domain is catch-all?

Send RCPT TO for an address that cannot exist, such as a long random string, at the same domain. If the mail server answers 250 to that made-up mailbox, it accepts every address and the domain is a catch-all. ZapBounce runs this probe for you and sends no message.

Should I email catch-all addresses?

You can, with care. Send to them in smaller batches, watch bounces and replies, and drop any that never engage. In one 10,000-address B2B benchmark, about 28% of addresses sat on catch-all domains, so deleting them all can cost you a large share of a list.

Is a catch-all email valid?

Not in the sense a verifier can prove. The server says yes to every name, so its answer tells you nothing about the one you asked about. ZapBounce returns catch_all as its own result rather than calling it valid.

Why do Yahoo and AOL addresses look catch-all?

Yahoo and AOL answer 250 or 252 to every RCPT TO on purpose, to stop address harvesting, and then bounce bad mail later. So Yahoo-hosted domains behave like catch-alls to every verifier.

Label every catch-all on your list

Upload your list and each row comes back valid, invalid, catch-all or unknown, so you can segment before you send.