ehlo-codes
Explore EHLO response codes used in SMTP for email communication. Understand server capabilities like PIPELINING, SIZE, STARTTLS, and AUTH with this comprehensive cheat-sheet.
EHLO Response Codes Reference
Understanding EHLO Response Codes
The EHLO (Extended Hello) command is a crucial part of the Simple Mail Transfer Protocol (SMTP) used for sending emails. When a client connects to an SMTP server, it sends the EHLO command to identify itself and to discover the extensions (capabilities) that the server supports. The server responds with a list of these extensions, each prefixed with a 250 status code. Understanding these EHLO response codes is essential for diagnosing email delivery issues and for developers building email clients or servers.
Please note that the presence and specific EHLO response codes will depend on the SMTP server software, its version, and its configuration. The following table includes some commonly encountered EHLO response codes, but it may not cover every possible code or extension.
Common EHLO Response Codes and Their Meanings
EHLO Response Code | Description |
---|---|
250 | Requested mail action okay, completed. This is a general success code for many SMTP commands. |
250-PIPELINING | Server supports command pipelining, allowing multiple commands to be sent in a single network round trip. |
250-SIZE <value> |
Server specifies the maximum message size (in bytes) it can accept. This is vital for preventing oversized emails. |
250-ETRN | Server supports the ETRN (Extended Turn) extension, which allows a client to request mail delivery from the server. |
250-ENHANCEDSTATUSCODES | Server uses enhanced status codes, providing more detailed error information than standard SMTP codes. |
250-8BITMIME | Server supports the 8BITMIME extension, allowing the transmission of non-ASCII characters in email bodies. |
250-DSN | Server supports Delivery Status Notifications (DSN), which provide feedback on the delivery status of emails. |
250-STARTTLS | Server supports STARTTLS, a command that upgrades a plain text connection to an encrypted TLS/SSL connection. |
250-AUTH <authentication_types> |
Server specifies the supported authentication types (e.g., LOGIN, PLAIN, CRAM-MD5) for client authentication. |
250-DELIVERBY | Server supports the DELIVERBY extension, allowing clients to specify a time by which the email must be delivered. |
250-RSET | Server supports the RSET command, which resets the SMTP connection's state. |
250-HELP | Server provides help information upon request. |
250-BINARYMIME | Server supports binary MIME (Multipurpose Internet Mail Extensions), often used for attachments. |
250-CHUNKING | Server supports chunking for message transmission, breaking large messages into smaller parts. |
250-EXPN | Server supports the EXPN command, which expands a mailing list to show its members (often disabled for security). |
250-VRFY | Server supports the VRFY command, which verifies the existence of a mailbox (often disabled for security). |
250-X-EXPS <extension> |
Server supports an additional, non-standard extension. The
specific extension is indicated by
<extension> .
|
250 X-LINK2STATE | Server provides link-related state information, often specific to certain mail server implementations. |
Importance of EHLO Codes in Email Communication
The EHLO command and its associated response codes are fundamental
to modern email communication. They enable clients to adapt their
behavior based on the server's capabilities, ensuring efficient and
secure mail transfer. For instance, knowing the server supports
STARTTLS
allows the client to initiate an encrypted
session, protecting sensitive email content. Similarly, the
SIZE
extension helps prevent mail loops and wasted
resources by informing the sender of the maximum message size.
Developers can leverage this information to build more robust and
compatible email applications.