Free tool

SMTP Test

Connect to a mail server, check its TLS, try the login and send yourself a test email - one step at a time, with the server's own replies, so you can see exactly where it breaks.

Provider

Leave the login empty to test only the connection and TLS. A password is used for this one test, sent to our tools server over an encrypted connection, and never stored or logged - use an app password if you can, and revoke it afterwards if you like.

Which port and security to use

PortSecurityUse it for
587STARTTLSApps and mail clients sending mail. The connection starts in plain text and upgrades to TLS before the login. The default almost everywhere.
465SSL/TLS on connectThe same job, encrypted from the first byte. Many providers offer both 465 and 587.
25STARTTLS if offeredServer-to-server delivery. Most home connections and cloud hosts block it outbound - including the server this tester runs on - so don't use it for an app.
2525STARTTLSAn unofficial fallback some services (SendGrid, Mailgun, Brevo) offer for networks that block 587.

Auto picks TLS on connect for port 465 and STARTTLS (when the server offers it) for everything else - the right guess nearly always. The classic mistake is the reverse: SSL/TLS on port 587, or STARTTLS on 465. The connection then hangs or fails the handshake, and this tester says which way round it should be.

SMTP settings for popular providers

ProviderServerPortLog in with
Gmailsmtp.gmail.com587 STARTTLS or 465Your full address and an app password (needs 2-Step Verification)
Microsoft 365smtp.office365.com587 STARTTLSYour address and password - if SMTP AUTH is enabled for the mailbox
Outlook.comsmtp-mail.outlook.com587 STARTTLSYour address; Microsoft is moving consumer accounts to OAuth-only logins
Yahoo Mailsmtp.mail.yahoo.com587 STARTTLS or 465Your address and an app password
iCloud Mailsmtp.mail.me.com587 STARTTLSYour iCloud address and an app-specific password
Zoho Mailsmtp.zoho.com587 STARTTLS or 465Your address (EU accounts: smtp.zoho.eu)
Fastmailsmtp.fastmail.com465 or 587 STARTTLSYour address and an app password
SendGridsmtp.sendgrid.net587 STARTTLSUser apikey, password = an API key
Mailgunsmtp.mailgun.org587 STARTTLSThe domain's SMTP credentials (EU: smtp.eu.mailgun.org)
Amazon SESemail-smtp.<region>.amazonaws.com587 STARTTLSSES SMTP credentials for that region - not your IAM keys
Brevosmtp-relay.brevo.com587 STARTTLSYour SMTP login and SMTP key from the Brevo dashboard

Providers change these now and then; when this table and the provider disagree, the provider wins - and the tester above will show you which one is right.

What the errors mean

  • 535 5.7.8 Username and Password not accepted - Gmail's wrong-credentials reply. With the right password it almost always means an app password is needed.
  • 534 5.7.9 Application-specific password required - Gmail again, saying it directly.
  • 535 5.7.3 Authentication unsuccessful or 5.7.139 - Microsoft. Wrong credentials, SMTP AUTH turned off for the mailbox, or password logins disabled for the tenant.
  • 530 5.7.0 Must issue a STARTTLS command first - the server wants encryption before the login. Set Security to STARTTLS or Auto.
  • 550 or 554 ... relay / sender not allowed - logged in, but not allowed to send from that From address. Use the account's own address or a verified alias.
  • 421 - the server is busy or limiting connections. Wait a minute.
  • Timeout on connect - a firewall dropping the port. On port 25 that's normal; try 587.

Common questions

Does it send an email?

Only if you tick the box, and only after the login succeeds - the tester never relays mail without a login. It sends one message with a fixed text to one address, and allows three of those an hour.

Where does the test run?

From our tools server in Amsterdam, Netherlands - a browser can't open a raw SMTP connection. It can only reach public servers; a mail server on your LAN or on localhost isn't reachable from here.

Which settings does UpWatchr's email alert need?

The same host, port, user and password you tested here, with SSL on for STARTTLS on port 587 (or off for an unencrypted server). It doesn't connect with TLS-on-connect on port 465, so test 587. UpWatchr then emails you whenever a site, API or server you watch stops answering - or alerts you by popup, Telegram or webhook instead.