Technical data
6.2 Simple Mail Transfer Protocol (SMTP)
To be reliable, electronic mail systems must be able to cope with situations in
which the recipient is temporarily unavailable; for example, if the recipient’s host
is down or off line. Mail must also be able to handle situations in which some of the
recipients on a distribution list are available and some are not.
Simple Mail Transfer Protocol (SMTP) is the TCP/IP standard protocol for
transferring electronic mail messages from one system to another. SMTP specifies
how systems interact and the format of the mail messages they exchange. The
Compaq TCP/IP Services SMTP implementation uses the OpenVMS Mail utility.
The OpenVMS Mail utility automatically recognizes an SMTP host address. For
example:
$ MAIL
MAIL> SEND
To: jones@widgets.com
6.2.1 How SMTP Clients and Servers Communicate
In most implementations, SMTP servers listen at port 25 for client requests. In the
TCP/IP Services implementation of SMTP, the SMTP receiver is invoked by the
auxiliary server when an inbound TCP/IP connect arrives at port 25 (if the SMTP
service is enabled). The auxiliary server runs the command procedure specified
intheSMTPservicedatabaseentrythatrunsthereceiver.Thereceiverimageis
SYS$SYSTEM:TCPIP$SMTP_RECEIVER.EXE. The receiver process runs in the
TCPIP$SMTP account.
The SMTP symbiont processes all mail on the host. It receives jobs one at a
time from the generic SMTP queue and delivers them either locally by means of
OpenVMS Mail or remotely by means of SMTP.
After receiving a client request, the SMTP server responds, indicating its status
(available or not available). If the server is available, it starts an exchange of
control messages with the client to relay mail. (Like FTP, SMTP does not define a
message format. SMTP commands are sent as ASCII text, and the SMTP server at
theremotehostparsestheincomingmessagetoextractthecommand.)
The following steps occur:
1. The auxiliary server listens for requests, starts the SMTP receiver, and accepts
the TCP connection.
2. The client identifies itself by sending its fully qualified domain name.
3. The server replies with its own fully qualified domain name.
4. The client sends the full e-mail address of the sender enclosed in angle
brackets; if the server is able to accept the mail, it returns a readiness code.
5. The client sends the full mail address (also enclosed in angle brackets) of the
message’s intended recipient.
6. The client sends the body of the message. A minimum of five control message
commands are required to conduct steps 1 through 5.
Table 6–4 describes the control message commands.
Mail Services 6–5