Prompt
How do I check if an email address is valid before I send?
Latest observation
Oct 5, 2026
OpenAI APIWeb search: off
You can’t know with 100% certainty that an email address is deliverable until you actually send something and get a bounce back, but you can get pretty close before sending.
Practical ways to check an email address
1) Basic format check
Make sure it looks like:
name@example.com
Rules to verify:
- has exactly one
@ - has a domain after
@ - no spaces
- domain contains at least one dot, like
example.com
Example regex (simple, not perfect):
^[^\s@]+@[^\s@]+\.[^\s@]+$
2) Check the domain exists
Verify the domain part after @ actually has DNS records.
For example, for user@example.com, check whether example.com exists and has MX records.
- MX record = tells you which mail servers accept email for that domain.
- If there are no MX records, the domain may not accept email.
3) Use an email verification API
These services usually check:
- syntax
- domain/MX
- mailbox existence signals
- disposable email
- role accounts (
info@,admin@) - risk scoring
Examples:
- ZeroBounce
- NeverBounce
- Kickbox
- Hunter Email Verifier
4) Send a confirmation email
For the strongest real-world validation, send a confirmation link/code:
- “Click to confirm your email”
- Only proceed after the user clicks
This proves the recipient can access the mailbox.
5) Watch for bounce messages
If you send mail, monitor bounce-back responses:
- hard bounce = invalid address
- soft bounce = temporary issue
Important limitation
Some servers:
- block verification probes
- accept all addresses temporarily (“catch-all” domains)
- only reveal validity after delivery attempts
So pre-send checks are helpful, but not perfect.
Recommended approach
If you want a reliable workflow:
- Check syntax
- Check MX records
- Use a verification API
- Require confirmation email for critical actions
If you want, I can show you:
- a JavaScript/Python example for checking MX records, or
- a regex/email validation function for your app.