Email guides
Practical email guides for developers, marketers and IT admins. New here? Start with the email deliverability guide: it walks through authentication, list quality and the Gmail, Yahoo and Outlook rules, and links to the deeper guides on authentication, bounces and list quality.
Start here
- Bounces and errors: hard vs. soft bounce, Mail Delivery Subsystem, MAILER‑DAEMON, Delivery Status Notification (Failure), SMTP error codes, email bounce rate.
- Authentication and DNS: SPF record, what is a DKIM record, what is a DMARC record, what is an MX record, BIMI and MTA-STS, Gmail, Yahoo and Outlook sender requirements, email deliverability news.
- Email verification: how email verification works, check if email exists, catch-all email addresses, role-based email addresses, email address format, spam traps.
- For developers: email regex, validate email in JavaScript, Python, PHP, Java, C#, Go, Ruby on Rails, HTML, JSON Schema and Google Forms, Sheets and Excel.
- Finding and choosing tools: how to find someone’s email address, best email verification tools, best email validation APIs.
All guides
Comparison
Best email validation APIs
The best email validation API for your volume: emailvalidation.io, ZeroBounce, NeverBounce and Kickbox compared on price per email, free tier and API features.
Comparison
Best email verification tools
The best email verification tools of 2026 compared on published facts: price per 10,000 checks, free tiers, API, bulk upload, catch-all handling, integrations.
Email authentication
BIMI and MTA-STS
How to publish a BIMI record and MTA-STS: DMARC at enforcement, the SVG Tiny PS logo, VMC or CMC, the _mta-sts TXT record, the policy file and TLS-RPT.
Explainer
Catch-all email addresses explained
What a catch-all (accept-all) domain is, why email verifiers mark these addresses as risky, how to detect catch-all domains and whether you should send to them.
Explainer · free checker
Check if an email address exists
Check if email exists without sending a message: free checker, how the SMTP check works, and what it can tell you for Gmail, Yahoo and Outlook addresses.
Bounces
Delivery Status Notification (Failure)
What a Delivery Status Notification (Failure) email means, how to read Gmail’s error (address not found, message blocked) and how to fix each cause.
Email authentication
DKIM record
A DKIM record holds the public key receivers use to verify your email signatures. Format, selectors, Google Workspace and Microsoft 365 examples, key rotation.
Email authentication
DMARC record
What is a DMARC record? How alignment, policies and reports work, every tag under RFC 9989, example records, and what to do when no DMARC record is found.
Reference
Email address format
The parts of an address, length limits, allowed characters and 25 valid and invalid examples.
Deliverability
Email deliverability
Authentication, list quality, engagement, the Gmail, Yahoo and Outlook sender rules, monitoring and a full checklist.
Deliverability
Email deliverability news
Email deliverability news with dates and sources: Gmail, Yahoo, Microsoft and Apple sender rule changes since 2024, DMARC under RFC 9989, and a rule tracker.
Developers
Email regex
A tested email regex for JavaScript, Python, PHP, Java, Go and Ruby, the HTML5 pattern, a test table of 25 tricky addresses, and why regex is not verification.
Deliverability
Gmail, Yahoo and Outlook sender requirements
Gmail sender requirements for 2026, checked against Google’s own pages, plus Yahoo and Outlook.com bulk sender rules: SPF, DKIM, DMARC, unsubscribe, spam rate.
Bounces
Hard bounce vs. soft bounce
What each one means, the SMTP codes behind them, how email services handle them, and how to prevent hard bounces.
Email finding
How to find someone’s email address
Eight methods, from email finders and format guessing to search operators and WHOIS, with a worked example and what’s legal.
Deliverability
How to reduce your email bounce rate
Email bounce rate explained: how to calculate it, which rate is acceptable, the limits email services enforce, and seven ways to lower it before your next send.
Bounces
Mail Delivery Subsystem
Gmail’s bounce messages: why you get them, how to read the error, when they are phishing, and how to stop them.
Bounces
MAILER-DAEMON
MAILER-DAEMON is the automatic sender of bounce messages. Why it emails you, whether it’s spam or a virus, how to stop it, how it compares to Gmail’s bounces.
DNS for email
MX record
An MX record names the mail servers that receive email for a domain. How MX priority works, examples for Google Workspace, Microsoft 365 and Zoho, null MX.
List quality
Role-based email addresses
A role based email address like info@ or sales@ reaches a function, not a person. Why ESPs block them, when to keep them, and how to find them in your list.
Reference
SMTP error codes
SMTP error codes explained: what 4xx and 5xx replies and enhanced codes like 5.1.1 or 5.7.26 mean, what Gmail and Microsoft 365 say, and how to fix each.
Deliverability
Spam traps
What is a spam trap? Pristine, recycled and typo traps explained, how senders hit them, what a hit costs, and what email verification can and can’t catch.
Email authentication
SPF record
What an SPF record is and how to write one: syntax and qualifiers, Google Workspace and Microsoft 365 examples, the 10-lookup limit and PermError fixes.
Tutorial · C# & ASP.NET Core
Validate email addresses in C#
C# email validation that holds up: a tested regex, what MailAddress and [EmailAddress] accept, MX lookups with DnsClient and an API check in ASP.NET Core.
Tutorial · Go
Validate email addresses in Go
Golang validate email the robust way: a tested regex, what net/mail’s ParseAddress accepts, MX lookups with net.LookupMX and an API check in a handler.
Tutorial · Google Forms, Sheets & Excel
Validate email addresses in Google Forms, Sheets and Excel
Google Form email validation step by step: response validation and a regex that works, plus tested Google Sheets and Excel formulas for invalid addresses.
Tutorial · HTML forms
Validate email addresses in HTML
The HTML email validator built into browsers: the exact rule behind type=“email”, tested results, pattern and multiple, and why to check again on the server.
Tutorial · Java & Spring Boot
Validate email addresses in Java
Java email validation with tested code: a regex, what @Email, Commons Validator and InternetAddress accept, MX lookups via JNDI and an API check in Spring Boot.
Tutorial · JavaScript & Node.js
Validate email addresses in JavaScript
JavaScript email validation: HTML5 input checks, a practical regex, typo hints and a mailbox check with an API call from Node
Tutorial · PHP & Laravel
Validate email addresses in PHP
PHP email validation: filter_var for syntax, checkdnsrr for MX records, an API call via cURL or Laravel’s HTTP client for the mailbox. Laravel rule included.
Tutorial · Python
Validate email addresses in Python
Python email validation: syntax checks with email-validator, MX lookups with dnspython, an API call to verify the mailbox exists, and bulk CSV validation.
Tutorial · Ruby on Rails
Validate email addresses in Ruby on Rails
Rails email validation, tested: what URI::MailTo::EMAIL_REGEXP lets through, a stricter custom validator, an MX lookup with Resolv and a mailbox check by API.
Tutorial · JSON Schema
Validate email addresses with JSON Schema
A JSON Schema email validation example that rejects bad addresses: format email in 2020-12, Ajv with ajv-formats, Python jsonschema and Pydantic EmailStr.
Explainer
What is email verification?
How does email verification work? The checks step by step (syntax, domain, MX, SMTP, catch-all), what each result means, its benefits and its limits.
Frequently asked questions
Where should I start to improve email deliverability?
How do I check if an email address exists without sending an email?
What does a bounce message like 550 5.1.1 mean?
Email validation API
Validate emails in your app
emailvalidation.io checks syntax, MX records and the mailbox over SMTP, flags disposable, role and free addresses and returns a quality score, in one request.
/v1/info Email validation API Read the documentation
100 free validations every month. No credit card required.
GET https://api.emailvalidation.io/v1/info?
{
"email": "support@emailvalidation.io",
"user": "support",
"tag": "",
"domain": "emailvalidation.io",
"format_valid": true,
"mx_found": true,
"smtp_check": true,
"catch_all": null,
"role": true,
"disposable": false,
"free": false,
"score": 0.64,
"state": "deliverable",
"reason": "low_quality",
"did_you_mean": "",
"catch_all_resolution": null,
"bounce_probability": null,
"status": "valid",
"sub_status": "role_based",
"explanation": "The mailbox exists, but it is a role address (such as info@ or support@), usually read by a team rather than one person.",
"recommended_action": "send_with_caution"
}