SMTP provides an Internet-based transmission capability between MTAs (typically a server). Prior to SMTP, several other efforts aimed at creating e-mail specific transport protocols. Besides the Usenet and other developments, SMTP's authors had earlier led an effort to develop specifications for support of

multimedia mail. Interest was slight, although the effort did influence the later development of X.400. The later work on SMTP was diligent in its effort to maintain

simplicity.

For message submission , it provides only means of specifying:


  1. The message sender

  2. The address list of message recipients

  3. The actual message


Protocol replies have a conventional form, with a three-digit status code followed by free-form text. This form produces message posting sequences of the style shown in the table below.

The table shows the dialog between the sending client (S) and the receiving server (R).



R: 220 BBN-UNIX.SRPA Simple Mail Transfer Service Ready

S: HELO USC-ISIF.ARPA

R: 250 BBN-UNIX.ARPA

S: MAIL FROM:<Smith@USC-ISIF.ARPA>

R: 250 OK

S: RCPT TO:<Jones@BBN-UNIX.ARPA>

R: 250 OK

S: RCPT TO:<Green@BBN-UNIX.ARPA>

R: 550 No such user here

S: RCPT TO:<Brown@BBN-UNIX.ARPA>

R: 250 OK

S: DATA

R: 354 Start mail input; end with <CRLF>.<CRLF>

S: Blah blah blah ...

S: ..etc. etc. etc.

S: .

R: 250 OK

S: QUIT

R: 221 BBN-UNIX.SRPA Service closing transmission channel




Several commands are associated with SMTP:


  1. HELO - Client identifies itself

  2. MAIL FROM - Originator of message

  3. RCPT TO - Identify message recipient

  4. DATA - Initiate transfer of mesage content

  5. NOOP - Check if SMTP server is in operating condition

  6. RSET - Void a transaction in process

  7. QUIT - Terminate SMTP server connection