Prompt
What should I use for catch-all domain detection?
Latest observation
Oct 3, 2026
OpenAI APIWeb search: off
For catch-all domain detection (checking whether a domain accepts mail for any address), the safest/common approach is:
Recommended method
- Send SMTP RCPT TO probes to a few random, non-existent addresses at the domain.
- Compare the server’s response:
- If it returns
250/accepts the recipient for random addresses, it may be catch-all. - If it returns
550/551/552for invalid recipients, it’s likely not catch-all.
- If it returns
- Use multiple random addresses and ideally more than one MX server, because behavior can vary.
Important caveats
- Many servers use greylisting, anti-abuse tarpits, or accept then bounce later, which can make results unreliable.
- Some domains are accept-all temporarily or only on certain MX hosts.
- A server accepting RCPT TO does not guarantee the mailbox exists; it only means the server is willing to accept delivery.
Practical tools/libraries
Depending on your language:
- Python:
smtplib(basic), or mail validation libraries that include SMTP probing - Node.js:
nodemailerwith SMTP connection features - Go:
net/smtp(though limited), or raw SMTP vianet
Best practice
If you need this for list hygiene or signup validation, use it as a signal, not a definitive result. Combine with:
- MX lookup
- syntax validation
- DNS checks
- SMTP probe results
- optional email confirmation
If you want, I can also give you:
- a Python example for catch-all detection,
- a Node.js example, or
- a full validation flow that includes MX + SMTP probing.