About SMTP Tester — Our Mission, Architecture & Privacy

What SMTP Tester is, how it is built, and how it handles credentials: an open-source SMTP verification tool that stores nothing.

Last updated 2026-09-21

SMTP Tester is an open-source SMTP diagnostic tool for developers and system administrators. It shows the full protocol exchange of a test in real time and never stores credentials.

Where other tools return a bare pass/fail or a generic timeout, SMTP Tester streams the raw, credential-redacted protocol exchange as it happens, so you can see exactly where a connection, handshake, or relay failed.

The project is freely available online at smtptester.org and as a self-hostable service published in the official GitHub repository.

Why we created SMTP Tester

Diagnosing SMTP issues usually means choosing between two poor options:

  1. Primitive command-line debugging: Running telnet, openssl s_client, or swaks in a terminal requires memorizing raw SMTP verbs, manually constructing base64-encoded AUTH payloads, and interpreting cryptic response codes on the fly. They also produce no artifact you can share with a hosting provider, teammate, or vendor support desk.
  2. Blackbox web forms: Most online SMTP checking tools take your host, port, and credentials into a form, spin a loader for twenty seconds, and output a generic "Authentication failed" or "Timed out" message. When a connection fails, you are left wondering: Did DNS fail? Was the port blocked? Did STARTTLS fail certificate validation? Or was the password rejected?

SMTP Tester solves both problems: the detail of a live terminal session in a web interface that is easier to read and share.

Core engineering principles

The architecture of SMTP Tester reflects three core principles:

1. Ephemeral execution & zero retention

SMTP Tester has no database, no persistent disk cache, and no tracking store. The credentials entered for a test are held strictly in server memory for the duration of that single TCP connection. The moment the test completes, the socket closes, or the browser disconnects, the memory is purged.

2. Live credential redaction

As the SMTP conversation streams, the engine parses each protocol line and redacts sensitive parameters—including AUTH PLAIN, AUTH LOGIN, and AUTH CRAM-MD5 base64 strings—before they reach your browser over Server-Sent Events (SSE). Transcripts can be screenshotted or pasted into issues and tickets without leaking credentials.

3. Absolute client control

If you close your browser tab or click "Stop" during a test, the server instantly receives an abort signal (AbortSignal) and terminates the underlying TCP socket and nodemailer transport immediately. No orphaned connections or background sends are left running.

Technical architecture

SMTP Tester is a TypeScript application with a clear client/server split:

How an SMTP verification session works

Every test runs in four phases:

  1. Connect & Banner Inspection: The engine opens a TCP connection to the specified host and port (such as 587, 465, 2525, or 25), captures the server greeting banner (220), and measures socket latency.
  2. Capability Discovery (EHLO) & Security Upgrade: The client issues EHLO to discover advertised SMTP extensions (PIPELINING, SIZE, STARTTLS, AUTH methods). If configured for STARTTLS (typical on port 587) or implicit TLS (port 465), encryption is negotiated and certificate properties are validated.
  3. Authentication: The client authenticates using PLAIN, LOGIN, CRAM-MD5, or auto-negotiation. A 235 Authentication successful confirms valid credentials; a 535 isolates credential or permission issues.
  4. Delivery Verification (Optional): If full testing is enabled, a test message from the rotating template catalog is sent to verify end-to-end queuing (250 OK). For production servers where sending mail is undesirable, handshake-only mode verifies the entire connection and credential stack without queueing or sending any email.

For a breakdown of the handshake sequence, see the guide on what an SMTP test is and how it works.

The guides and knowledge base

The site also documents setup and troubleshooting for common providers. Each guide is checked against protocol specifications and real provider configurations:

Open source & community

SMTP Tester is open-source software released under the MIT License. The complete source code, including the Fastify server, the React web app, and the documentation pipeline, is hosted on GitHub:

For internal mail relays behind corporate firewalls or inside VPCs that public tools cannot reach, deploy a self-hosted instance.

Security disclosures and contact

We welcome contributions, bug reports, and provider guide suggestions: