220
SMTPINFOCriticalConnectionHIGH confidence

<domain> Service ready

What this means

The 220 code is the first message a client receives when connecting to an SMTP server, indicating the server is ready to accept commands. It signals a successful initial connection.

Why it happens
  1. 1A successful TCP connection was established to the SMTP server's port (usually 25, 465, or 587).
  2. 2The server is operational and ready for the client to begin the mail session.
How to reproduce

A mail client opens a connection to the SMTP server to initiate an email transmission.

trigger — this will error
trigger — this will error
[Connection established]
220 mail.example.com ESMTP Postfix

expected output

220 mail.example.com Service ready

Fix

Send EHLO immediately after receiving 220

WHEN At the start of every SMTP session

Send EHLO immediately after receiving 220
220 mail.example.com ESMTP Postfix
EHLO client.yourdomain.com
250-STARTTLS
250-AUTH LOGIN PLAIN
250 OK

Why this works

RFC 5321 requires EHLO before any other command. The EHLO response lists supported extensions (STARTTLS, AUTH, SIZE) which must be negotiated before use.

What not to do

Skip EHLO and issue MAIL FROM immediately after 220

Servers may reject commands before EHLO. EHLO also negotiates STARTTLS which must be activated before AUTH.

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All SMTP errors