Skip to content
Start with 100 free verification credits
Qualisend
Blog

Engineering

Deliverability guides and product notes — no filler.

A layered diagram of a PHP email address passing through filter_var syntax validation, a checkdnsrr MX lookup, and an SMTP mailbox probe, narrowing to one deliverable verdict
EngineeringJuly 22, 2026

How to validate an email address in PHP

PHP email validation done right: filter_var for syntax, checkdnsrr/getmxrr for MX, and an API for the SMTP mailbox check. Working code for each layer.

An API response window showing a JSON verification verdict with status, score, and reason
EngineeringJuly 18, 2026

Email verification API comparison for developers

How to choose an email verification API: verdicts and evidence, sync vs async, bulk and webhooks, rate limits, EU data — and the options compared.

A code window classifying a bounce code into a hard-bounce, suppress action
EngineeringJuly 8, 2026

Building email bounce classification

Build an email bounce classifier: map SMTP and enhanced codes to suppress or retry, spot policy blocks, and classify addresses before they bounce.

A serverless route handler verifying an email at signup and returning a verdict
EngineeringJune 27, 2026

Verify email at signup with a serverless function

Verify email at signup with a serverless function: reject typos and dead domains at the door, keep your API key server-side, and fail open.

A Python code window validating an email through syntax, DNS, and SMTP layers
EngineeringJune 17, 2026

How to validate an email address in Python

Validate an email address in Python properly: syntax, an MX lookup with dnspython, and the SMTP mailbox probe — with working code.

A code editor window titled validate.rb with a red ruby gem mark and a green deliverable result pill, above the caption syntax to MX to mailbox.
EngineeringJune 16, 2026

How to validate an email address in Ruby

Validate an email address in Ruby in three layers: URI::MailTo syntax, a Resolv MX lookup, and an SMTP mailbox check via API, with working code.

A layered diagram of a Go email address passing through net/mail.ParseAddress syntax validation, a net.LookupMX MX lookup, and an SMTP mailbox probe, narrowing to one deliverable verdict
EngineeringJune 15, 2026

How to validate an email address in Go

Validate an email address in Go the right way: net/mail.ParseAddress for syntax, net.LookupMX for MX, and an API for the SMTP mailbox check.

A Java code window validating an email through syntax, DNS, and SMTP layers to a deliverable verdict
EngineeringJune 14, 2026

How to validate an email address in Java

Validate an email address in Java properly: syntax with Jakarta Mail, an MX lookup via JNDI, and an SMTP mailbox check — with working code.

A C# code window validating an email through syntax, DNS, and SMTP layers
EngineeringJune 13, 2026

How to validate an email address in C#

Validate an email address in C# the right way: MailAddress for syntax, DnsClient for the MX lookup, and an API for the SMTP mailbox probe.

Illustration of a Laravel rules array narrowing from email:rfc to email:rfc,dns to a DeliverableEmail rule that checks the mailbox.
EngineeringJune 12, 2026

Validate an email address in Laravel, from rule to mailbox

Validate an email address in Laravel with the email:rfc,dns rule, then confirm the mailbox with a verification API from a custom validation rule.

Code window titled validators.py showing three narrowing Django validation layers — validate_email, an MX resolve, and a POST to the verify API — ending in a green deliverable badge.
EngineeringJune 11, 2026

How to validate an email address in Django

Validate an email address in Django properly: EmailField for syntax, an MX lookup with dnspython, and an API for the SMTP mailbox check.

A Node.js code window validating an email through syntax, DNS, and SMTP layers
EngineeringJune 6, 2026

How to validate an email address in Node.js

Validate an email address in Node.js properly: a syntax check, an MX lookup with node:dns, and the SMTP mailbox probe — with working code.