SMTP: Simple Mail Transfer Protocol (plain mail Transfer Protocol)
SMTP is a protocol that provides reliable and efficient e-mail transport. SMTP is a type of mail service modeled on FTP file transfer services that is used primarily for messaging information between systems and for notification of incoming letters.
SMTP is independent of a specific transport subsystem and requires only reliable and orderly data stream channel support. One of the important features of SMTP is that it can transmit messages across the network, or "SMTP mail relay." Typically, a network can be composed of non-TCP Transport layer protocols from TCP accessible to each other on the public Internet, TCP can access each other on a firewall-delimited TCP/IP network, and other hosts in Lan/wan. With SMTP, mail transmission between processors in the same network can be realized, and mail transmission between a processor and other networks can be realized through a repeater or gateway.
In this way, the sending of a message may pass through a large number of intermediate repeaters or gateway hosts from the sender to the receiving end path. The Mail Exchange server of the Domain Name Service system (DNS) can be used to identify the next hop IP address that transmits messages.
Protocol structure
The SMTP command is the ASCII information sent between the SMTP hosts, which may be as follows:
Command |
Describe |
DATA |
Start information Writing |
EXPN <string> |
Returns a name in the specified message table |
HELO <domain> |
Return to mail server identity |
Help <command> |
Returns the information in the specified command |
MAIL from |
Initialize a mail session on the host |
NOOP |
No response except for server response confirmation |
QUIT |
Terminate a mail session |
RCPT to <user> |
Indicate who received the message |
RSET |
Reset Mail Connection |
SAML from |
Send mail to user terminals and mailboxes |
SEND from |
Send mail to User terminal |
SOML from |
Send a message to a user terminal or mailbox |
TURN |
Swap roles between receiver and sender |
VRFY <user> |
Verifying user identity |