The first check is syntax. Does the address have the shape a mail address is allowed to have? This catches a missing @ and a space in the wrong place, and proves nothing whatsoever about whether the mailbox exists. A perfectly formed address for an imaginary person passes.
Then DNS. We look up the domain's MX records to find out where mail for it should go. No MX records and no usable A record fallback means there is nowhere to deliver, and every address at that domain is undeliverable regardless of what it looks like.
Then the connection. We open TCP on port 25 to the mail exchanger, send EHLO and get a 250, send MAIL FROM and get a 250, and then send RCPT TO with the address we are asking about. That response is the decisive one.
Then we send QUIT. The connection closes before the DATA command, which is the point where a real message body would be transmitted. We never reach it, so nothing is delivered and the mailbox owner sees no message.
Reading the response
250 means accepted. On a domain that rejects unknown recipients, that is a real answer. On a catch-all domain it means nothing, which is why we also probe a random local part to find out which kind of server we are talking to.
550 means no such user. That is the cleanest result in the protocol and the one that saves you a hard bounce.
A 4xx code is temporary: greylisting, throttling or a server under load. It carries no information about the address, and a verifier that converts it into a verdict is manufacturing data.
252 means the server cannot verify the user but will accept the message anyway. Yahoo uses this deliberately. 530 means authentication is required, which is a blocked probe rather than a bad address.
Where this argument costs us something
The short version
- Verification never sends a message, and the connection closes before that stage.
- The RCPT TO response is the whole answer, and a 4xx is not an answer at all.
- A 250 only means something once you know whether the domain is catch-all.
Questions people ask
Will the mailbox owner see anything?
No. The connection closes before any message body is transmitted, so nothing arrives in the inbox and nothing appears in their mail log as a delivered message.
Why does the same address sometimes give different results?
Because the server's answer depends on load, on rate limiting and on how it feels about the connecting IP at that moment. Microsoft in particular is inconsistent under throttling.