Simple Mail Transfer Protocol
Simple Mail Transfer Protocol (SMTP) is a text-based protocol usually used by two mail servers to exchange e-mail. Users can then retrieve e-mail from the servers via mail clients such as Outlook, Eudora, or Pine. Mail clients use various protocols, such as Post Office Protocol 3 (POP3), to connect to the server.
SMTP uses well-known ports TCP port 25 and UDP port 25. The client and SMTP server send various commands when communicating. Table 3-1 lists some SMTP commands and their purpose.
Table 3-1. SMTP Commands
Command |
Function |
HELLO (HELO) |
Identifies the SMTP client to the SMTP server. |
MAIL (MAIL) |
Initiates a mail transaction in which the mail data is delivered to an SMTP server, which is then either delivered to mailboxes or passed to another system via SMTP. |
RECIPIENT (RCPT) |
Identifies an individual recipient of the mail data; multiple use of the command is needed for multiple users. |
DATA (DATA) |
Identifies the lines following the command (such as the MAIL command) as the mail data in ASCII character codes. |
SEND (SEND) |
Initiates a mail transaction in which the mail data is delivered to one or more terminals. |
SEND OR MAIL (SOML) |
Initiates a mail transaction in which the mail data is delivered to one or more terminals or mailboxes. |
SEND AND MAIL (SAML) |
Initiates a mail transaction in which the mail data is delivered to one or more terminals and mailboxes. |
RESET (RSET) |
Aborts the current mail transaction. Any stored sender, recipients, and mail data must be discarded, and all buffers and state tables must be cleared. The receiver must send an OK reply. |
VERIFY (VRFY) |
Verifies whether a user exists; a fully specified mailbox and name are returned. |
NOOP (NOOP) |
Specifies no action other than that the receiver sent an OK reply. |
QUIT (QUIT) |
Closes the transmission channel; the receiver must send an OK reply. |