ESMTP Commands
ESMTP consists of a minimal core of required commands (listed in Table 9-1) and a number of commands associated with the service extensions. Some of the service extensions also extend existing commands but do so without breaking backward compatibility. As with the rest of the protocols and formats in the Internet mail system, backward compatibility has been a key design criterion.
Command | Arguments | Meaning | Status |
HELO | Domain name | Used to identify the client. | Required |
EHLO | Domain name | ESMTP replacement for HELO. Used to identify the client and request a list of ESMTP service extensions supported by the server. | Optional |
VRFY | A username or email address | Asks the server if it can verify that the username or email address given maps to a local user. | Optional |
EXPN | Email address | Asks the server if it can expand the email address given if the address is a mailing list. | Optional |
HELP | Optional command name | Asks for a general help message or help on the command given. | Optional |
NOOP | None | No operation (does nothing). | Required |
TURN | None | Requests that the client and server exchange roles. | Optional |
VERB | None | Requests that the server use verbose mode. | Proposed |
ETRN | Hostname, domain name, or queue name | Processes the mail queue for the specified host, domain, or queue. | Proposed |
QUIT | None | End the session. | Required |
All ESMTP commands are case insensitive.
A minimal SMTP server must support the following commands:
- HELO
Announces a client to a server
Informs a server of a sender’s ...
Get Programming Internet Email now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.