SMTP
The abbreviation SMTP stands for Simple Mail Transfer Protocol, a simple e-mail transport protocol. The protocol is used to exchange emails in computer networks. It is a text-based protocol in which only text and no binary numbers are transported. In 1982 SMTP was published for the first time with the aim to achieve an independence of the email traffic from the FTP service. Nowadays there are countless computer programs that support SMTP as a server or client. The best known SMTP servers are Sendmail, Exim, Postfix, qmail, MS Exchange, GroupWise and IBM Lotus Domino.
Structure of SMTP
This transport protocol is a single line to be sent. If this line comes from the SMTP server, it first contains the status code, which always consists of three digits. This is then followed by a readable message. A line from the SMTP client, on the other hand, contains a command and possibly arguments separated by spaces. The server is the message transfer agent and the client is the message user agent.
Flow of SMTP
SMTP is a client-server protocol used to send messages from the client to the server over a TCP connection. Emails are entered into the Message User Agent and delivered to the Message Transfer Agent using the SMTP protocol. Once the server has received the complete message, a confirmation is sent to the client.
SMTP commands
Communication between the client and the server is supported by various commands in the SMTP protocol. Each command must be terminated by a control character. The client receives a response from the server for each executed command.
“HELO” is used to identify the client to the server. “DATA” initiates the transmission of the e-mail. With the command “MAIL” the actual message transmission takes place. With “RCTP” for the reception of an email is entered. If several recipient addresses are to be entered, each address receives an individual “RCTP” command. If the client wants a confirmation of the receipt of the e-mail, it must execute this command with “VRFY”. If the transmission is to be interrupted, the command “RSET” must be executed. If the transmission is interrupted, all addresses and messages already transmitted are deleted. The command “QUIT” terminates the communication. The server also has “HELP” as an auxiliary function.
Extended SMTP
In 1995 an extension of the transport protocol was made. With this extension, additional commands can now be defined using a modular concept. If the client then reports to the server with EHELO instead of HELO, it is informed which extensions of the protocol are supported by the server.