SMTP test command generator: try an address by hand from a terminal
In short: Enter the receiving mail server, your sending domain and the addresses to try. You get the connect command and the lines to type, ending in QUIT, so no message is ever sent. Limit: The tool writes commands; it does not connect to a server or return a result.
Connect to the receiving mail server, send EHLO with your domain, MAIL FROM with a sender address and RCPT TO with the address to try, then QUIT. A 250 reply means that command was accepted and a 550 means the mailbox is not deliverable. This tool writes the connect command and the lines, and never includes DATA.
Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. Check your list free nowSee pricing
The values below are examples. Replace them with the receiving server and the addresses you want to try.
1. Connect
openssl s_client -connect mx.example.net:25 -starttls smtp -crlf
2. Type these lines, one at a time, reading the reply after each
EHLO sender.example.org MAIL FROM:<test@sender.example.org> RCPT TO:<hello@example.net> RCPT TO:<sales@example.net> QUIT
A 250 reply accepts the command; a 550 says the mailbox is not deliverable. There is no DATA line, so no message is sent.
Sample result
Two addresses at example.net get one openssl command and six lines to type, ending in QUIT.
- Addresses
- 2
- Connect
- STARTTLS
- Port
- 25
What this means for you
There is no DATA line, so no message is sent.
- openssl or nc
- EHLO, MAIL FROM, RCPT TO
- Safe to paste
- Copy and download
- SMTP
- RFC 5321
- Terminal
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
A terminal is for a few addresses; a list needs a verifier.
- Hand-typed tests do not scale and some servers accept every address, so put the whole list through a checker.
- Upload or paste it at /verify. Every address gets a live mailbox check, and the first 100 email checks are free with a Google sign-in, no card.
How do I run an SMTP test by hand?
- Find the receiving domain's mail server with the MX lookup tool and enter that host name.
- Enter the domain you send from, a sender address on it, and up to ten addresses to try.
- Copy the connect command into a terminal, then type the lines one at a time, reading the reply after each.
- Finish with QUIT. For more than a handful of addresses, use the verifier instead of the terminal.
Example
- You enter
- Server
mx.example.net, port 25, EHLO domainsender.example.org, sendertest@sender.example.org, two addresses at example.net, over STARTTLS. - You get
- The connect line
openssl s_client -connect mx.example.net:25 -starttls smtp -crlf, then EHLO, MAIL FROM, two RCPT TO lines and QUIT. There is no DATA line, so no message is sent. - Limits
- Runs in your browser and only writes the commands; you run them yourself.
What commands does the test use?
RFC 5321 defines the commands: EHLO with your domain, MAIL FROM:<sender> to start a transaction, RCPT TO:<recipient> to name an address and QUIT to end the session. A server answers each with a code. 250 accepts the command, and a recipient that is known not to be deliverable normally gets a 550. The generated lines stop before DATA, so no message is sent.
How does the connection work?
For a server that upgrades to TLS, the command is openssl s_client with -connect host:port, -starttls smtp and -crlf, as described in the OpenSSL manual. For a plain connection, it uses nc. Many networks block outgoing port 25, in which case the connection simply does not open.
Why not test a whole list this way?
A server can accept every RCPT TO and bounce later, and repeated tests from one address can be refused. Hand tests suit a few addresses; the SMTP RCPT TO entry explains the technique and the verifier runs it across a list, with catch-all handling.
Who uses this tool, and for what?
- Cold email senders
- Spot-check a few important addresses before a send.
- Deliverability consultants
- Show a client what a receiving server says to a recipient.
- Sales ops
- Test a single bounced address from a terminal.
What can’t this tool tell you?
- The tool writes commands; it does not connect to a server or return a result.
- A server's reply to RCPT TO is not a promise that the mailbox exists or that the mail will land in the inbox.
- Some servers refuse or delay answers to repeated tests.
- Only plain addresses of letters, digits and . _ % + - are accepted, so the command stays safe to paste.
Common questions
- Does this send an email?
- No. The lines stop at QUIT without a DATA command, so no message is transmitted.
- What does a 250 reply to RCPT TO mean?
- The server accepted that recipient for now. A server that accepts every recipient says nothing about whether the mailbox exists.
- Which server do I connect to?
- The receiving domain's mail server from its MX record, not your own. The MX lookup tool finds it.
- Why does the connection hang?
- Outgoing port 25 is blocked on many home and cloud networks. Try another network, or use the verifier.
- Why is the number of addresses capped?
- Ten, because repeated hand probing of one server is better done by a verifier built for it.
- Does the tool connect to anything?
- No. It only writes text in your browser; you run the commands yourself.
Sources
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.