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

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.js. Copy-paste code.

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?

With the email deliverability guide. It covers authentication, list quality, the Gmail, Yahoo and Outlook rules and monitoring, and links to the detailed guides on SPF, DKIM, DMARC, bounces and spam traps.

How do I check if an email address exists without sending an email?

A verifier asks the recipient’s mail server about the mailbox in an SMTP conversation and disconnects before any message is sent. Our guide on how to check if an email exists explains each step and has a free checker built in.

What does a bounce message like 550 5.1.1 mean?

It’s an SMTP reply code from the receiving mail server: 550 5.1.1 means the mailbox doesn’t exist. The SMTP error codes reference explains each code, and hard vs. soft bounce shows which ones to remove from your list.

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

{
  "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"
}

Start using our email validation software today!

Get 100 validations per month for free