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.

Table 9-1. ESMTP Commands That May Occur at Any Time

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

MAIL

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.