HELO vs EHLO Commands¶
HELO and EHLO are commands used to initiate a session between a Mail User Agent (MUA) or Mail Transfer Agent (MTA) and an SMTP server^[600-developer__smtp.md].
HELO¶
The HELO command is the initial command sent to a standard SMTP server^[600-developer__smtp.md]. It serves as a "handshake" or greeting to identify the client to the server^[600-developer__smtp.md].
The command must be followed by a domain name^[600-developer__smtp.md]. This name is often used for anti-spam verification; specifically, the domain provided must resolve to an IP address that matches the client's current connection IP^[600-developer__smtp.md].
EHLO¶
The EHLO command is the initial command sent to an Extended SMTP (ESMTP) server^[600-developer__smtp.md]. Like HELO, it acts as a greeting, but it indicates that the client supports the extended protocol^[600-developer__smtp.md].
It includes the same domain name requirements as HELO for anti-spam validation^[600-developer__smtp.md]. The key difference is that upon receiving an EHLO command, the server will respond with a list of supported ESMTP extensions (such as STARTTLS)^[600-developer__smtp.md].
Related Concepts¶
- STARTTLS
- [[SMTP]]