# Verify an email address without sending a message

URL: https://email-validation.org/guides/verify-email-without-sending/
Updated: 2026-10-20

> Documentation index: https://email-validation.org/llms.txt

You can often find out whether a mailbox exists without sending a message: look up the domain's mail servers, then
start the conversation a sending server would have and ask whether the server accepts mail for the address,
stopping before any message is transferred. Many servers answer honestly; some refuse to say, and some say yes to
everything.

## Step 1: look up the mail servers

The domain's **MX records** list the servers that accept its mail, with a priority. You can see them with a DNS
tool, for example `dig MX example.com` or `nslookup -type=mx example.com`. No MX records (and no fallback address
record) means the domain cannot receive mail.

## Step 2: ask the server

Mail servers speak SMTP ([RFC 5321](https://www.rfc-editor.org/rfc/rfc5321)). A check opens a connection to the
preferred server on port 25 and walks through the start of a delivery:

```text
S: 220 mx.example.com ready
C: EHLO checker.example.net
S: 250 mx.example.com
C: MAIL FROM:<probe@example.net>
S: 250 OK
C: RCPT TO:<jane@example.com>
S: 250 OK                     ← the server accepts mail for this mailbox
   or 550 No such user          ← the mailbox does not exist
C: QUIT
```

The conversation ends with `QUIT` before any message is sent, so Jane receives nothing.

## Why it is harder than it looks

- **Catch-all servers** answer `250` for every address, so a "yes" proves nothing there. See
  [catch-all emails](https://email-validation.org/guides/catch-all-emails/).
- **Greylisting and anti-spam systems** delay or reject unknown checkers, often with temporary `4xx` answers.
- **Port 25 is blocked** on most home connections and many cloud providers, so a script on your laptop or server may
  not be able to connect at all.
- **Reputation:** an IP address that makes many such checks can be blocked by mail providers, which may then affect
  your real mail if you check from your sending infrastructure.
- **Signals you cannot see** in one conversation: disposable inbox services, spam traps and addresses linked to
  complaints come from data, not from the mail server.

## Do it yourself or use a service

| | Do it yourself | A verification service |
|---|---|---|
| One-off check | Feasible with `dig` and a mail client, if port 25 is open | A few seconds in a web form |
| Many addresses | You run the infrastructure and protect its reputation | Upload a list or call an API |
| Catch-all, greylisting | You interpret the answers | Results say so explicitly (`risky`, `unknown`) |
| Disposable, traps, complainers | Not visible | Flagged in the result |

With email-validation.org, no email is sent to the address you check, and results we cannot confirm come back `unknown` and
cost nothing. Try it with the free [email checker](https://email-validation.org/email-checker/), or read
[what email verification is](https://email-validation.org/guides/what-is-email-verification/) for the whole picture.
