EHLO
The command an SMTP client sends first, giving its own hostname and asking the server to list the SMTP extensions it supports.
What it means
EHLO carries the client's fully qualified domain name, or an address literal such as [192.0.2.25] when it has none. The server answers with a multi-line 250 reply: its own name first, then one line per supported extension, for example SIZE 52428800, 8BITMIME, PIPELINING, STARTTLS or AUTH PLAIN. RFC 5321 says a client should start with EHLO, and a client must send EHLO or HELO before starting a mail transaction.
After a successful STARTTLS both sides forget what they learned before the handshake, and RFC 3207 tells the client to send EHLO again; the extension list inside the encrypted session may differ, and some servers accept nothing before STARTTLS: Gmail answers 530 5.7.0 when a client must issue STARTTLS first. The name given in EHLO is recorded in the Received header and checked by many receivers.
Example
C: EHLO mail.example.com
S: 250-mx.example.net
S: 250-SIZE 52428800
S: 250-8BITMIME
S: 250-PIPELINING
S: 250-STARTTLS
S: 250 ENHANCEDSTATUSCODESRelated terms
Sources
What this definition rests on. The wording is ours; the facts are theirs.
All 432 terms in the glossaryThe wiki: blocklists and bounce codes