Free SMTP Test

Check a domain's mail servers (MX), reverse DNS, SPF, DMARC and DKIM — the DNS-level configuration behind reliable email delivery.

Try:

How Does an SMTP Test Work?

This is a DNS-level mail-configuration check — no port 25 required.

1

Enter a domain or email

Type a domain like example.com, or paste a full email address and the tool strips it down to the domain. Optionally add a DKIM selector to check a signing key too — or click the github.com + DKIM example to fill one in.

2

We read your mail DNS

A single check fans out over encrypted DNS-over-HTTPS to your MX mail servers, their IP addresses and reverse DNS, plus SPF, DMARC and optional DKIM records. Because Cloudflare and most networks block outbound port 25, this reads configuration instead of opening a live socket.

3

Read the verdict

A summary row shows whether MX, SPF, DMARC, reverse DNS (and DKIM) are present, with the raw records grouped below. Want the full DNS picture? Run a DNS lookup. Want to reach a mail server on a specific port? Try the Ping tool.

SMTP Ports Explained (25, 465, 587, 2525)

Which port to use when you configure an SMTP client or server.

PortEncryptionUsed for
25Optional (STARTTLS)Server-to-server relay (MTA → MTA). Usually blocked for outbound client sending to curb spam.
587STARTTLSModern message submission from authenticated clients. The recommended port for sending mail from an app.
465Implicit TLS (SMTPS)Submission with TLS from the first byte. A widely supported alternative to 587.
2525STARTTLSUnofficial fallback submission port some providers offer when 587 is blocked.

Common SMTP Reply Codes

What a mail server is telling you during an SMTP conversation.

CodeMeaning
220Service ready — the server greeted you and is ready to accept commands.
250Requested action completed — e.g. the recipient was accepted.
354Start mail input — send the message body, end with a single dot on its own line.
421Service not available — the connection is being closed (often rate-limiting).
450 / 451Temporary failure — try again later (greylisting or a transient error).
550Mailbox unavailable — recipient rejected (no such user, or blocked).
554Transaction failed — often a policy or reputation rejection.

Run a Live SMTP Test From Your Terminal

When you need an actual handshake, test from a machine that allows outbound SMTP.

Plain connection to the submission port and an EHLO greeting (shows supported extensions such as STARTTLS and AUTH):

# connect and greet (port 587 submission)
telnet mail.example.com 587
EHLO test.example.com

Encrypted handshake with STARTTLS on 587, or implicit TLS on 465, using OpenSSL:

# STARTTLS on 587
openssl s_client -starttls smtp -connect mail.example.com:587 -crlf

# implicit TLS on 465
openssl s_client -connect mail.example.com:465 -crlf

A 220 greeting means the server is reachable and ready; the EHLO response lists the extensions it supports. Find the correct mail.example.com hostname by running the SMTP test above — it is the MX record for the domain.

Frequently Asked Questions

What does this SMTP test actually check?
It checks the DNS-level configuration that governs whether a domain can send and receive email reliably: the MX records (which mail servers accept the domain's mail), the reverse DNS (PTR) of those mail servers, the SPF record (which servers are allowed to send as the domain), the DMARC policy, and — if you supply a DKIM selector — the DKIM public key. These are the records receiving mail servers inspect before they trust a message, so getting them right is what keeps your email out of the spam folder.
Does this open a real SMTP connection on port 25?
No. Browsers cannot open raw SMTP sockets, and most networks — including the platform this tool runs on — block outbound port 25 entirely, so a live in-browser port-25 handshake is not possible. Instead this tool inspects the DNS records that define your mail setup, which is what most people who search for an SMTP test actually need. To perform a live SMTP handshake yourself, use the telnet or openssl commands shown in the walkthrough above.
What are the SMTP ports 25, 465, 587 and 2525 for?
Port 25 is used for server-to-server mail relay (MTA to MTA) and is usually blocked for outbound client use to limit spam. Port 587 is the modern submission port for authenticated clients, using STARTTLS to upgrade to an encrypted connection. Port 465 is implicit TLS (SMTPS) — the connection is encrypted from the first byte. Port 2525 is a common alternative submission port some providers offer when 587 is blocked. For sending mail from an application, use 587 with STARTTLS or 465 with implicit TLS.
What is a good SMTP test result?
A healthy domain shows at least one MX record, an SPF record beginning v=spf1, a DMARC policy at _dmarc, and reverse DNS (PTR) that resolves for each mail-server IP. If SPF or DMARC is missing, receiving servers have less ability to verify your mail and it is more likely to be marked as spam or rejected. Missing reverse DNS on a sending server is a common reason legitimate mail is bounced. This tool flags each of these so you can see at a glance what is present and what is not.
How do I test a DKIM record?
DKIM keys live at a selector subdomain in the form selector._domainkey.example.com, and the selector is chosen by whoever signs your mail (for example google, s1, k1, or dkim). Enter that selector in the optional DKIM selector field and the tool looks up the corresponding TXT record at selector._domainkey.yourdomain.com and shows the public key; the github.com + DKIM example fills in a working selector for you. If you do not know the selector, check a recent email's headers for the DKIM-Signature line — the s= value is the selector.
Do I need an account to run an SMTP test?
No. There is no account, no login, and no payment. The tool runs entirely in your browser, querying an encrypted DNS-over-HTTPS resolver, and nothing you look up is stored. It is free to use as often as you like.