By: Apurva Karankar Category: Other Technologies, Web Development Technologies: Ruby on Rails
Email is Emerging as one of the most advantageous services on the internet today, Email or SMTP is a method to transfer mail from one user to another. A push protocol, SMTP is used to send an email whereas POP (post office protocol) or IMAP (internet message access protocol) are used to retrieve the emails at the receiver’s side.
A Simple Mail Transfer Protocol/SMTP is an actual protocol employed to transfer mail from MTA to MTA.
MTA: Mail Transfer Agent… A program used to route and deliver the mail
MUA: Mail User Agent … A program used to access mail after delivery.
History of SMTP
- The SMTP specification began with the Mail Transfer Protocol in 1980.
- It developed into Simple Mail Transfer Protocol (SMTP) in 1981.
- Specified in RFC 821
- The most recent RFC is 2821
- The first and most important implementation is “send mail”.
Model of SMTP system
In SMTP, the model user deals with the user agent (UA). For example- Microsoft Outlook, Netscape, Mozilla, etc. To exchange the mail using TCP, MTA is employed. The sender does not have to deal with MTA as the system admin is responsible to set up a local MTA. The MTA carries a small queue of mails for it to schedule repeat delivery of mails in case the receiver is unavailable. The MTA delivers the mail to the mailboxes and the data can later be downloaded.
Communication between sender and the receiver:
The sender’s user agent composes the message and sends it to the MTA. The MTA is responsible to transfer the mail across the network to the receiver’s MTA. To send mail, the system must contain a client MTA, and to receive mail, it must have a server MTA.
Mail is sent by a sequence of request and response messages between the client and the server. The message sent across contains a header and a body. A null line is employed to terminate the mail header. Everything after the null line is viewed as the body of the message, which is a series of ASCII characters. The message body holds the actual information read by the receipt.
The server-side user agent checks the mailboxes at a particular time interval. If any data is received, it notifies the user about the mail. When the user tries to read the mail, it displays a list of emails with a short description in the mailbox. By selecting any of the mail, the users can view its contents.