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