How to Check If an Email Address Is Valid (5 Methods)
On this page
Why Checking Email Validity Matters
Sending to invalid addresses wastes resources, increases bounce rates and damages sender reputation. A high bounce rate signals to email providers that you are not maintaining your list, which can land future messages in spam folders even for valid recipients.
Checking validity before sending protects your deliverability and keeps your list clean.
Method 1: Syntax Validation
The simplest check is whether the address follows the correct format.
A valid email address has three parts: a local part (before the @), the @ symbol and a domain (after the @). The domain must include at least one dot separating the domain name from the top-level domain.
What syntax checks catch:
- Missing @ symbol (john.example.com)
- Spaces or illegal characters (john doe@example.com)
- Missing domain (john@)
- Double dots (john..doe@example.com)
What syntax checks miss:
- Whether the domain actually exists
- Whether the mailbox is active
- Typos in real domains (john@gmial.com passes syntax but is wrong)
Syntax validation is fast and free. It is the first filter to apply but should never be the only one.
Method 2: MX Record Lookup
An MX (Mail Exchange) record lookup checks whether the domain in the email address has a mail server configured to receive email.
How it works:
- Extract the domain from the email address (everything after the @).
- Query the DNS for MX records on that domain.
- If MX records exist, the domain can receive email.
- If no MX records exist, the domain cannot receive email and the address is invalid.
What MX lookups catch:
- Completely fake domains (john@notarealdomain12345.com)
- Expired domains that no longer have mail servers
- Domains that exist but have no email infrastructure
What MX lookups miss:
- Whether the specific mailbox exists on that domain
- Catch-all domains that accept mail for any address
- Temporary server outages
MX lookups are free to run using command-line tools like dig or nslookup, or through DNS lookup APIs.
For more detail, see MX Record Lookup Explained.
Method 3: SMTP Verification
SMTP verification goes further by connecting to the mail server and asking whether the specific mailbox exists.
How it works:
- Connect to the mail server listed in the domain's MX records.
- Simulate the beginning of an email delivery (the SMTP handshake).
- Issue a RCPT TO command with the email address.
- The server responds with a code: 250 means the mailbox exists, 550 means it does not.
- Disconnect without actually sending a message.
What SMTP verification catches:
- Non-existent mailboxes on valid domains
- Disabled or deactivated accounts
What SMTP verification misses:
- Catch-all domains (they accept any address, so every check returns 250)
- Greylisting servers that temporarily reject unknown senders
- Servers that block SMTP verification attempts entirely
SMTP verification is more accurate than syntax or MX checks but is slower and can be blocked by some providers. Gmail, Outlook and Yahoo have been known to rate-limit or block SMTP verification requests.
Method 4: Email Verification Services
Dedicated email verification services combine all the above methods plus proprietary checks into a single API call or bulk upload.
What they typically check:
- Syntax validation
- MX record existence
- SMTP mailbox verification
- Disposable email detection
- Role-based address detection (info@, admin@, support@)
- Catch-all domain detection
- Known spam trap databases
- Historical bounce data
How to use them:
- Upload your email list as a CSV.
- The service processes each address.
- Download results with status codes (valid, invalid, risky, unknown).
- Remove invalid and risky addresses before sending.
Popular services include ZeroBounce, NeverBounce, Bouncer, BriteVerify, Kickbox and EmailListVerify. Pricing is typically per verification, ranging from fractions of a cent for bulk plans to a few cents per address on pay-as-you-go plans.
For a full comparison, see Best Email Verification Services.
Method 5: Send and Monitor
The most definitive test is to send an actual email and see what happens. This is not a pre-send check but a post-send validation method.
How it works:
- Send a real email to the address.
- Monitor for bounce-back messages.
- A hard bounce (550 error) confirms the address is invalid.
- A soft bounce (temporary failure) means the server exists but delivery failed for a transient reason.
- No bounce means the message was accepted (though it may still land in spam).
When to use this:
- For small lists where individual verification is impractical
- When SMTP verification is blocked by the recipient's server
- As a final confirmation after other methods
Risks:
- Sending to too many invalid addresses damages sender reputation
- High bounce rates can trigger blocks from email service providers
- This method should only be used on lists that have already been pre-filtered
For more on bounces, see Email Bounce Rate Explained and How to Handle Bounced Emails.
Which Method to Use When
Before sending a campaign: Use methods 1 through 4 in sequence. Syntax and MX checks are fast and free. SMTP verification adds accuracy. A verification service provides the most comprehensive result.
For a single address: A quick MX lookup and SMTP check are usually enough. Many free online tools offer one-off verification.
For a large list: Bulk verification through a service is the most efficient approach. Upload the full list and filter by the results.
After extracting emails: If you used Email Extractor to pull addresses from files or text, the extracted list contains every address found in the source material. Some of those addresses may be outdated, invalid or role-based. Running the list through a verification service before sending is a recommended next step.
Common Pitfalls
Trusting syntax alone
A syntactically valid address can still be a dead mailbox, a spam trap or a disposable address. Syntax validation is necessary but not sufficient.
Over-relying on SMTP
Some servers always return 250 (catch-all domains). Others block verification attempts entirely. SMTP results should be combined with other signals.
Skipping verification for "fresh" lists
Even recently collected addresses can contain typos, disposable emails and role-based addresses. Fresh does not mean clean.
Verifying once and never again
Email addresses go stale. People change jobs, abandon accounts and close mailboxes. Re-verify your list periodically, especially if you have not sent to it in several months.