Definition
Catch-all domain: A domain configured to accept mail for any local part, including addresses with no mailbox behind them. Because RCPT TO returns 250 for every recipient, verifiers detect it by probing addresses that cannot exist, then score each real address on other signals. RocketVerifier returns a send_safe, send_with_caution or avoid verdict.
How to tell if a domain is catch-all
The test is simple. After the server accepts the address you care about, ask it for one that nobody would ever own, such as x8k2q7vz3m@example.com. A normal server rejects that with 550 5.1.1. A catch-all server says 250 to both.
Domains end up this way for two common reasons. Some admins turn on catch-all so that misspelled names still reach someone. Others sit behind an email security gateway that accepts every recipient at the edge and sorts out real mailboxes later, after the SMTP session is over.
Why catch-all domains are risky
A list full of catch-all addresses can hide people who left the company years ago. Mail to them is dropped silently, routed to an admin inbox nobody reads, or bounced hours later by the internal server. You only learn which, after you have sent.
That late bounce still counts against you. And the two blunt options both cost money: mailing every catch-all address risks your bounce rate, while deleting all of them throws away real buyers at real companies.
How to decide whether to email a catch-all address
Score each address instead of treating the domain as one block. Useful signals are whether the local part fits the pattern the company uses (first.last, flast, first), whether it looks like a real name, and which provider hosts the domain.
Send to the highest-scoring addresses first, in a smaller batch, and watch the bounces before you mail the rest. Anything that hard-bounces goes straight to your suppression list.
S: 220 mx1.example.com ESMTP
C: EHLO verify.example.net
S: 250 mx1.example.com
C: MAIL FROM:<probe@verify.example.net>
S: 250 2.1.0 OK
C: RCPT TO:<jane.doe@example.com>
S: 250 2.1.5 OK
C: RCPT TO:<x8k2q7vz3m@example.com>
S: 250 2.1.5 OK
C: QUIT
S: 221 2.0.0 Bye How RocketVerifier handles it
After the real address is accepted, our engine asks for 3 random addresses at the same domain in the same SMTP session, and if 2 of 3 are accepted the domain is treated as catch-all. The address comes back as risky with sub_status catch_all and a catch_all_verdict from a 0 to 100 score: 65 and above is send_safe, 35 to 64 is send_with_caution, under 35 is avoid. The score weighs the provider, how plausible the local part is and the domain's address pattern, such as first.last. Catch-all verdicts are included with every verification on every plan.