Wednesday, April 22, 2015

E-Mail Protocol Notes


Electronic Mail

The most popular Internet services are electronic mail (e-mail).
At the beginning of the Internet era, the messages sent by electronic mail were short and consisted of text only; they let people exchange quick memos.
Today, electronic mail is much more complex. It allows a message to include text, audio, and video. It also allows one message to be sent to one or more recipients.

Architecture of E-mail
There are four scenarios: First Scenario, Second Scenario, Third Scenario, and Fourth Scenario.
1.      First Scenario:
·         In the first scenario, the sender and the receiver of the e-mail are on the same mail server, they are directly connected to a shared mail server.
·         The administrator has created one mailbox for each user where the received messages are stored.
·         A mailbox is part of a local hard drive, a special file with permission restrictions. Only the owner of the mailbox has access to it.
·         When Alice needs to send a message to Bob, she runs a user agent (UA) program to prepare the message and store it in Bob’s mailbox.
·         The message has the sender and recipient mailbox addresses.
·         Bob can retrieve and read the contents of his mailbox at his convenience using a user agent.
·         Following fig. Shows the concept
·         Example: This is similar to the traditional letter exchange between two people. There is a letter box where each person has a letter with his or her name on it. When Alice needs to send a letter to Bob, she writes the letter and inserts it into Bob’s letterbox. When Bob checks his letter box, he finds Alice’s letter and reads it.

2.      Second Scenario :
·         In the second scenario, the sender and the receiver of the e-mail are users on two different mail servers.
·         The message needs to be sent over the Internet. Here we need user agents (UAs) and message transfer agents (MTAs) as shown in following Fig.

·         Alice needs to use a user agent program to send her message to the mail server at her own site.
·         The mail server at her site uses a queue (spool) to store messages waiting to be sent.
·         Bob also needs a user agent program to retrieve messages stored in the mailbox of the system at his site.
·         The message, however, needs to be sent through the Internet from Alice’s site to Bob’s site.
·         Here two message transfer agents are needed: one client and one server. Like most client-server programs on the Internet, the server needs to run all of the time because it does not know when a client will ask for a connection.
·         The client, on the other hand, can be triggered by the system when there is a message in the queue to be sent.

3.      Third Scenario :
·         When the sender is connected to the mail server via a LAN or a WAN, we need two UAs and two pairs of MTAs (client and server).


·         As shows in fig. Bob, as in the second scenario, is directly connected to his mail server.
·         Alice, however, is separated from her mail server.
·         Alice is either connected to the mail server via a point-to-point WAN—such as a dial-up modem, a DSL, or a cable modem—or she is connected to a LAN in an organization that uses one mail server for handling e-mails, all users need to send their messages to this mail server.
·         Alice still needs a user agent to prepare her message. She then needs to send the message through the LAN or WAN.
·         This can be done through a pair of message transfer agents (client and server).
·         Whenever Alice has a message to send, she calls the user agent which, in turn, calls the MTA client. The MTA client establishes a connection with the MTA server on the system, which is running all the time.
·         The system at Alice’s site queues all messages received. It then uses an MTA client to send the messages to the system at Bob’s site; the system receives the message and stores it in Bob’s mailbox.

4.       Fourth Scenario :

·         When both sender and receiver are connected to the mail server via a LAN or a WAN, we need two UAs, two pairs of MTAs (client and server), and a pair of MAAs (client and server).
·         This is the most common situation today.
·         As shows in fig. Bob is also connected to his mail server by a WAN or a LAN.
·         After the message has arrived at Bob’s mail server, Bob needs to retrieve it.
·         Here, we need another set of client-server agents, which we call message access agents (MAAs). Bob uses an MAA client to retrieve his messages.
·         The client sends a request to the MAA server, which is running all the time, and requests the transfer of the messages.
·         The situation is shown in Fig. There are two important points we need to emphasize here.
·         First, Bob cannot bypass the mail server and use the MTA server directly.
·         To use the MTA server directly, Bob would need to run the MTA server all the time because he does not know when a message will arrive.
·         This implies that Bob must keep his computer on all the time if he is connected to his system through a LAN.
·         If he is connected through a WAN, he must keep the connection up all the time. Neither of these situations is feasible today.
·         Second, note that Bob needs another pair of client-server programs: message access programs. This is because an MTA client-server program is a push program: the client pushes the message to the server. Bob needs a pull program. The client needs to pull the message from the server. Following fig.  Shows the difference.

User Agent:
It provides service to the user to make the process of sending and receiving a message easier.
Services Provided by a User Agent:
A user agent is a software package (program) that composes, reads, replies to, and forwards Messages. It also handles local mailboxes on the user computers.
User Agent Types
There are two types of user agents: command-driven and GUI-based.
command-driven:
A command-driven user agent normally accepts a onecharacter
command from the keyboard to perform its task. For example, a user can type
the character r, at the command prompt, to reply to the sender of the message, or type
the character R to reply to the sender and all recipients.
Some examples of command-driven user agents are mail, pine, and elm.
GUI-based:
Modern user agents are GUI-based. They contain graphical user interface (GUI)
components that allow the user to interact with the software by using both the keyboard
and the mouse. They have graphical components such as icons, menu bars, and windows
that make the services easy to access.
Some examples of GUI-based user agents are Eudora, Outlook, and Netscape.
Sending Mail
To send mail, the user, through the UA, creates mail that looks very similar to postal
mail.
It has an envelope and a message as shown in following fig.

Envelope
The envelope usually contains the sender address, the receiver address, and other
information.
Message
The message contains the header and the body.
The header of the message defines thesender, the receiver, the subject of the message, and some other information.
The body of the message contains the actual information to be read by the recipient.
Receiving Mail
The user agent is triggered by the user (or a timer). If a user has mail, the UA informs
the user with a notice.
 If the user is ready to read the mail, a list is displayed in which each line contains a summary of the information about a particular message in the mailbox.
The summary usually includes the sender mail address, the subject, and the time
the mail was sent or received.
The user can select any of the messages and display its contents on the screen.
Addresses
To deliver mail, a mail handling system must use an addressing system with unique
addresses.
 In the Internet, the address consists of two parts: a local part and a domain
name, separated by an @ sign as shown in fig.
Local Part
The local part defines the name of a special file, called the user mailbox, where all of
the mail received for a user is stored for retrieval by the message access agent.
Domain Name
The second part of the address is the domain name. An organization usually selects
one or more hosts to receive and send e-mail; they are sometimes called mail servers
or exchangers. The domain name assigned to each mail exchanger either comes from
the DNS database or is a logical name (for example, the name of the organization).
Mailing List or Group List
Electronic mail allows one name, an alias, to represent several different e-mail
addresses; this is called a mailing list. Every time a message is to be sent, the system
checks the recipient’s name against the alias database; if there is a mailing list
for the defined alias, separate messages, one for each entry in the list, must be prepared
and handed to the MTA. If there is no mailing list for the alias, the name
itself is the receiving address and a single message is delivered to the mail transfer
entity.


No comments:

Post a Comment