Lecture 9: Electronic Mail Representation and Transfer Electronic Mail Paradigm, SMTP, POP/ IMAP
Lecture 9: Electronic Mail Representation and Transfer
Electronic Mail Paradigm, SMTP, POP/ IMAP
Outline
Introduction Architecture User Agent Message Transfer Agent: SMTP Message Access Agent: POP and IMAP Web-Based Mail
Electronic Mail
At beginning email were short and text only, today email 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
To explain the architecture of e-mail we will use four scenarios
First scenario in electronic mail
Alice (user) send a message to Bob (another user) using User Agent program in order to prepare the message and store it in Bob’s Mailbox.The message has sender’s and recipient mailbox address (names of files)Bob can retrieve and read the contents on his mailbox at any time using User Agent
First scenario Sender and receiver of email are users on the
same system (mail server). They directly connected to a shared system Administrator created one mailbox for each user
where the received messages are stored A Mailbox is part of local hard drive – a special
file with permission restriction. Only owner of mailbox has access to the mailbox
Second scenario in electronic mail
Alice needs to use UA program to send her message to the system (mail server) at her own site. Mail server at her site uses queue to store messages waiting to be sent.Bob also needs a UA to retrieve messages stored in the mailbox of the mail server at his siteMessage needs to be sent through the internet from Alice’s site to Bob’s site.So two MTAs are needed. MTA Client and MTA server
Second scenario
Sender and receiver of the email are users on two different system
Message needs to be sent over the Internet Here we need to have User Agents (UA)
and Message Transfer Agents (MTA)
Third scenario in electronic mailBob as in 2nd scenario. Alice is separated from her mail server, connected to server through LAN or WANAlice still need to use UA to prepare the message. Then she can send it through LAN/WAN to MTA
Fourth scenario in electronic mailThis is most common scenario.Bob and Alice are connected to Mail server through LAN/WAN.Here we need a set of client/server agent, Message Access Agent (MAA)
User Agent
User Agent Compose Message
To write message in proper format Provide template, built-in editor that can spell checking,
grammar checking etc.
Read Message Read incoming message Each received message contain;
Number field Flag – status of email. E.g. new, read Size of message Sender Optional subject field
User Agent
Reply Message Reply to the sender
Forward Message Send the message to third party
Handle Mailbox UA usually has Inbox and Outbox Inbox – keeps all received emails Outbox – keeps all sent email
User Agent
Command Driven Accepts one character command from keyboard
to perform its task. E.g. r to reply Examples: mail, pine, and elm
GUI- based Microsoft Outlook, Netscape, Eudora,
Thunderbird
User Agent
Sending email
Format of an e-mail
Message
Consist of Header and Body Header Define sender, subject of message and any
other information
Body Contain the actual information to be read by
receiver
Receiving Mail
UA is triggered by user (or timer) If user has mail, UA inform user with notice. If user ready to read the mail a list is
displayed in which each line contain summary of information
User can select any message and displays its contents on the screen.
E-mail address
Local part: define name of special file (user mailbox) where all mail received for user is stored for retrieval by MAADomain name: host to receive and send e-mail. Mail server of exchanger
Mailing List
Allow one name (alias) to represent different e-mail addresses.
Every time message to be sent system checks the recipient name against alias database
MIME – Multipurpose Internet Mail Extensions E-mail can only send message in NVT 7-bit
ASCII. MIME – supplementary protocol to allow
non ASCII data sent through e-mail. Allows transmission of Binary data Multimedia files (video/audio clips) Multiple types in single message Mixed formats
MIME
MIME header
Data types and subtypes in MIME
Message Transfer Agent: SMTP
SMTP – define how commands and responses must be sent back and forth
SMTP - Simple Mail Transfer Protocol
Runs over TCP Used between Mail transfer program on sender’s computer Mail server on recipient’s computer
Specifies how Client interacts with server Recipients specified Message is transferred
SMTP
SMTP is simple ASCII protocol where sender makes TCP connection to port 25 and
waits receiver identifies itself and says if it will receive
e-mail if rejected, sender tries again later
SMTP: Commands and responses
SMTP uses commands and responses to transfer messages between MTA client and MTA server
Command Format
SMTP: Commands
SMTP: Responses
SMTP: Responses (cont.)
SMTP - example Let us see how we can directly use SMTP to send an
e-mail and simulate the commands and responses we described in this section.
We use TELNET to log into port 25 (the well-known port for SMTP). We then use the commands directly to send an e-mail. In this example, [email protected] is sending an e-mail to himself.
The first few lines show TELNET trying to connect to the Adelphia mail server.
After connection, we can type the SMTP commands and then receive the responses, as shown on the next slide.
Note that we have added, for clarification, some comment lines, designated by the “=” signs. These lines are not part of the e-mail procedure.
SMTP session
$ telnet mail.adelphia.net 25Trying 68.168.78.100 . . .Connected to mail.adelphia.net (68.168.78.100).
SMTP session
Message Access Agent: POP3 and IMAP4
POP3 and IMAP4
First and second stages of mail delivery use SMTP. STMP not involve in the third stage because it is a push protocol; client push message to server
The third stage needs a pull protocol; client pull the message from server
POP3 – Post Office Protocol ver. 3 IMAP4 – Internet Mail Access Protocol ver. 4
Push versus pull in electronic email
POP3 POP3 client is installed in recipient computer. POP3 server is installed in mail server Mail access start when a client downloads its e-
mail messages from a server. Two modes
Delete: mail is deleted from mailbox after retrieval Keep: mail remains in mailbox after retrieval
The exchange of commands and responses in POP3
Client opens a connection to server on TCP port 110.Then it send user name and password to access mailbox.After that, user can list and retrieve mail message.
IMAP4
IMAP4 is more sophisticated protocol that offers Check email header prior to downloading Search the content of email for specific string Partially download the email Create, delete or rename mailbox on mail server Create hierarchy of mailboxes in a folder for
email storage
Web-based Mail
Yahoo Mail, Gmail, Hotmail and etc.. Mail transfer from sender’s browser to mail
server through HTTP. Transfer of message from sending mail
server to receiving server still through SMTP Message from receiving server (web server)
to receiver’ browser is done through HTTP Instead of POP3 and IMAP4, HTTP is used
as MAA
Web-based Mail
Summary Several program (protocol) including SMTP, POP3 and IMAP4, are used
in the Internet to provide e-mail service The UA prepares the message, creates the envelope, and puts the
message in the envelope. The email address consists of two parts: a local address (user mailbox)
and a domain name. The form is localname@domainname. The MTA transfers the email across the Internet, LAN or WAN. SMTP uses commands and responses to transfer messages between an
MTA client and an MTA server. The steps in transferring a mail message are connection establishment,
message transfer, and connection termination. POP3 and IMAP4 used for pulling messages from mail server Multipurpose Internet Mail Extension (MIME) is an extension of SMTP
that allows the transfer of multimedia and other non-ASCII messages.
Review Questions
Describe the addressing system used by SMTP
In e-mail, what are the tasks of User agent? What is MIME? Why do we need POP3 or IMAP4 for e-mail?