There are three steps to SMTP mail transactions. The transaction
is started with a MAIL command which gives the sender
identification. A series of one or more RCPT commands follows
giving the receiver information. Then a DATA command gives the
mail data. And finally, the end of mail data indicator confirms
the transaction.
The first step in the procedure is the MAIL command. The
<reverse-path> contains the source mailbox.
MAIL FROM:<reverse-path>
This command tells the SMTP-receiver that a new mail
transaction is starting and to reset all its state tables and
buffers, including any recipients or mail data. It gives the
reverse-path which can be used to report errors. If accepted,
the receiver-SMTP returns a 250 OK reply.
The <reverse-path> can contain more than just a mailbox. The
<reverse-path> is a reverse source routing list of hosts and
source mailbox. The first host in the <reverse-path> should be
the host sending this command.
The second step in the procedure is the RCPT command.
RCPT TO:<forward-path>
This command gives a forward-path identifying one recipient.
If accepted, the receiver-SMTP returns a 250 OK reply, and
stores the forward-path. If the recipient is unknown the
receiver-SMTP returns a 550 Failure reply. This second step of
the procedure can be repeated any number of times.
RFC 821 August 1982
Simple Mail Transfer Protocol
The <forward-path> can contain more than just a mailbox. The
<forward-path> is a source routing list of hosts and the
destination mailbox. The first host in the <forward-path>
should be the host receiving this command.
The third step in the procedure is the DATA command.
DATA
If accepted, the receiver-SMTP returns a 354 Intermediate reply
and considers all succeeding lines to be the message text.
When the end of text is received and stored the SMTP-receiver
sends a 250 OK reply.
Since the mail data is sent on the transmission channel the end
of the mail data must be indicated so that the command and
reply dialog can be resumed. SMTP indicates the end of the
mail data by sending a line containing only a period. A
transparency procedure is used to prevent this from interfering
with the user's text (see Section 4.5.2).
Please note that the mail data includes the memo header
items such as Date, Subject, To, Cc, From [2].
The end of mail data indicator also confirms the mail
transaction and tells the receiver-SMTP to now process the
stored recipients and mail data. If accepted, the
receiver-SMTP returns a 250 OK reply. The DATA command should
fail only if the mail transaction was incomplete (for example,
no recipients), or if resources are not available.
The above procedure is an example of a mail transaction. These
commands must be used only in the order discussed above.
Example 1 (below) illustrates the use of these commands in a mail
transaction.
August 1982 RFC 821
Simple Mail Transfer Protocol
=4= |