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:
The message sender
The address list of message recipients
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:
HELO - Client identifies itself
MAIL FROM - Originator of message
RCPT TO - Identify message recipient
DATA - Initiate transfer of mesage content
NOOP - Check if SMTP server is in operating condition
RSET - Void a transaction in process
QUIT - Terminate SMTP server connection