SMTP test
Check whether a domain's mail server is up and talking. Enter a domain and we open a real session on port 25 from our servers, so your network's blocks don't get in the way.
The short version
- Answered on port 25: the server is up and taking connections. Its banner and extensions are listed below the result.
- No SMTP session: either the domain has no MX record, or every MX host refused the connection. Mail to it will fail.
- Slow EHLO reply: a round trip of several seconds points to an overloaded server or a filter in front of it.
What the SMTP test does, step by step
This is the first half of the conversation every email starts with. We run it the same way our verifier does, from servers with port 25 open, and we stop long before any mail would move.
| Step | What we send | What a healthy server returns |
|---|---|---|
| 1. Find the server | MX lookup for the domain | One or more hosts, lowest priority first |
| 2. Connect | TCP to the first host on port 25 | 220 banner with the host name |
| 3. Introduce | EHLO | 250 and a list of extensions |
| 4. Check encryption | STARTTLS, if offered | 220 ready, then a TLS handshake |
| 5. Leave | QUIT | 221 closing |
Command and reply codes as defined in RFC 5321 and RFC 3207.
The extensions list matters more than it looks. SIZE tells senders the largest message the server takes. STARTTLS means it will encrypt. PIPELINING and 8BITMIME show a modern server. A server that lists almost nothing is often old or sitting behind a basic filter.
From a working server to a working mailbox
A server that answers proves the domain can take mail. It says nothing yet about any one address. That's the next step of the same session, RCPT TO, and it's what the bounce checker runs for a single address.
If the test shows no TLS, the TLS checker breaks down what the server offers, and this fix guide covers a failed handshake. To see how we use this session to verify whole lists without sending anything, read how it works.
SMTP test questions
How do I test an SMTP server?
Connect to it on port 25 and read its replies. A working server sends a 220 banner, answers EHLO with 250 and a list of extensions, and offers STARTTLS if it supports encryption. ZapBounce's SMTP test does this from our servers, because most home networks block port 25.
Why can't I telnet to port 25 from my computer?
Most residential internet providers and many cloud hosts block outbound port 25 to stop spam from infected machines. The test is not wrong; your network is closed. Running the test from a server that has port 25 open is the workaround.
What does the SMTP banner tell me?
The 220 banner names the host that answered and often the software or provider behind it, such as Google or Microsoft. If the banner's host differs from the MX record you expected, mail is being routed through a filter or gateway first.
Does this test send an email?
No. The test opens the session, reads the banner and the EHLO reply, checks STARTTLS and says QUIT. No sender, recipient or message is ever given.
Is this the same as testing my outgoing SMTP relay?
No. This test checks a domain's inbound server, the one that receives mail on port 25. An outgoing relay on port 587 needs your username and password, which you should never type into a web tool.
The same session, run on every address you have
Our verifier carries this conversation on to RCPT TO for each row of your list and closes before DATA. Unknowns are never billed.