Application electronic mail
Download
1 / 29

Application: Electronic Mail - PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on

Application: Electronic Mail. Linda Wu (CMPT 471 • 2003-3). Content. Email system model SMTP protocol MIME extensions Mail access protocols Reference: chapter 27. User A (sender). User B (receiver). interface. interface. UA. UA. Spool. Mailboxes. DB. DB. Alias expander.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Application: Electronic Mail' - knoton


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Application electronic mail

Application: Electronic Mail

Linda Wu

(CMPT 471 • 2003-3)


Content
Content

  • Email system model

  • SMTP protocol

  • MIME extensions

  • Mail access protocols

    Reference: chapter 27

CMPT 471  2003-3


Email system model

User A (sender)

User B (receiver)

interface

interface

UA

UA

Spool

Mailboxes

DB

DB

Alias expander

Alias expander

MTA

MTA

Client

Server

Relay

Relay

MTA

MTA

Internet

Email System Model

  • Client-server model

CMPT 471  2003-3


Email system model cont
Email System Model (cont.)

  • UA: user agent

    • A program used by the user to send and receive emails, e.g., mutt, elm, pine, Eudora, Outlook Express

    • Sending email

      • The user creates mail through the UA

      • The mail has an envelop and a message

    • Receiving email

      • UA checks the mailboxes periodically

      • Displays a message list, in which each line is a summary about a particular message in the mailbox: sender email address, subject, the time the mail was sent or received

CMPT 471  2003-3


Email system model cont1
Email System Model (cont.)

Envelop

Header

Message

Body

CMPT 471  2003-3


Email system model cont2
Email System Model (cont.)

  • MTA: mail transfer agent

    • The actual mail transfer is done through MTA

    • Unix MTA: Sendmail, postfix, ……

    • Client MTA is needed to send email

    • Server MTA is needed to receive email

CMPT 471  2003-3


Email system model cont3
Email System Model (cont.)

  • Delayed delivery

    The message does not have to be delivered immediately

    • Sender-side delay: spooling

      • After UA creates a message, the message is delivered to spool for storage

      • MTA periodically (10~30 mins) checks the mail in the spool to see if it can be sent

      • If the message cannot be sent, it remains in the spool to be checked in the next cycle

      • If a message cannot be delivered in the time-out period (3~5 days), it is returned to the sender

CMPT 471  2003-3


Email system model cont4
Email System Model (cont.)

  • Receiver-side delay

    • After the message is received by the MTA, it does not have to be read the receiver immediately

    • The mail can be stored in the mailbox of the receiver

  • Intermediate delay

    • The intermediate MTAs can receive mails, keep mails in their own mailboxes and spools, and send them when appropriate

CMPT 471  2003-3


Email system model cont5
Email System Model (cont.)

  • Email address

    • Email address must be unique

    • Two parts: local-part & domain-name

Address of the mailbox on the destination machine

Domain name of a mail destination to which the mail should be delivered

CMPT 471  2003-3


Email system model cont6
Email System Model (cont.)

  • Mail alias expansion

    • One-to-many alias expansion

      • User can create an alias that is mapped to a list of recipients (mailing list)

      • The recipients on a list need not to be local

      • For an outgoing message

        • Check the recipient’s name against the alias expansion database

        • If there is an expansion, replace the recipient with the mapped version, and pass the message to MTA

      • Alias is also used to map incoming recipient address

CMPT 471  2003-3


Email system model cont7
Email System Model (cont.)

  • Many-to-one alias expansion

    • A user can have several email addresses, but the user agent only recognizes one mailbox name

    • When a system receives mail, it checks the many-to-one expansion database

    • If a mailbox name corresponding to the local part of the received address is found, the mail is sent to that mailbox; otherwise, it is discarded

CMPT 471  2003-3


Email system model cont8

friends (one name)

John (one recipient)

One-to-many alias expander

Many-to-one alias expander

DB

DB

usera@ site1.com

userb@ site2.edu

userc@ site1.com

william@ site1.com

john@ site1.com

black@ site1.com

(many recipients)

(many addresses)

Email System Model (cont.)

CMPT 471  2003-3


Simple mail transfer protocol
Simple Mail Transfer Protocol

  • SMTP

    • Focuses on how the underlying mail delivery system passes mails across an internet

    • Does NOT specify:

      • How the mail system accepts mail from a user

      • How the user interface presents the user with incoming mail

      • How the mail is stored

    • Sends mail in NVT 7-bit ASCII format

    • Cannot be used for languages not supported by 7-bit ASCII characters

    • Cannot send binary data

CMPT 471  2003-3


Simple mail transfer protocol cont
Simple Mail Transfer Protocol (cont.)

  • Commands and responses

    • SMTP uses commands and responses to transfer mail between an MTA client and an MTA server

    • Command

      • Keyword: argument(s)

    • Response

      • A 3-digit code that may be followed by additional textual information

Commands

MTA client

MTA server

Responses

CMPT 471  2003-3


Simple mail transfer protocol cont1
Simple Mail Transfer Protocol (cont.)

CMPT 471  2003-3


Simple mail transfer protocol cont2
Simple Mail Transfer Protocol (cont.)

CMPT 471  2003-3


Simple mail transfer protocol cont3

MTA server

MAIL FROM: usera@site1.com

250 OK

RCPT TO: user2@site2.edu

250 OK

DATA

354 start mail input

From: User A

To: User B

Date: dd/mm/yyyy

Subject: ……

(Empty line)

Dear user B,

…...

.

250 OK

MTA client

Body

Envelop

Header

Simple Mail Transfer Protocol (cont.)

CMPT 471  2003-3


Simple mail transfer protocol cont4
Simple Mail Transfer Protocol (cont.)

  • Mail transfer

    • The process of transferring a mail has 3 phases

      • Connection establishment

      • Mail transfer

      • Connection termination

CMPT 471  2003-3


Simple mail transfer protocol cont5
Simple Mail Transfer Protocol (cont.)

MTA client

MTA server

TCP XXXXX

TCP 25

TCP connection ready

220 service ready

Email transfer connection establishment

HELO: site1.com

250 OK

… mail transfer …

QUIT

Email transfer connection termination

221 service closed

CMPT 471  2003-3


Mime extensions
MIME Extensions

  • Multipurpose Internet Mail Extensions

    • A supplementary protocol that allows non-ASCII data to be sent through SMTP

    • Not a mail protocol; only an extension to SMTP

    • Can be thought of as a set of software functions that transform non-ASCII data to ASCII data and vice versa

User A

User B

Non-ASCII

Non-ASCII

MIME

MIME

7-bit NVT ASCII

7-bit NVT ASCII

7-bit NVT ASCII

SMTP

SMTP

CMPT 471  2003-3


Mime extensions cont
MIME Extensions (cont.)

  • MIME headers

    • MIME defines 5 headers to be added to the original SMTP header section

    • The headers define the transformation parameters

      • MIME-Version: current version is 1.1

      • Content-Type: text/plain, image/jpeg, image/gif, multipart/mixed, application/postscript, ……

      • Content-Transfer-Encoding: 7bit, 8bit, binary, base64, quoted-printable

      • Content-Id: uniquely identify the message

      • Content-Description

CMPT 471  2003-3


Mime extensions cont1
MIME Extensions (cont.)

CMPT 471  2003-3


Mime extensions cont2
MIME Extensions (cont.)

  • Base64 encoding

    • Divide the binary data into 24-bit blocks

    • Each blocks is then divided into four 6-bit sections

    • Interpret each 6-bit section as one character according to Base64 encoding table

Z I E 5

CMPT 471  2003-3


Mime extensions cont3
MIME Extensions (cont.)

  • Quoted-printable encoding

    • If a character is ASCII, it is sent as it is

    • If a character is not ASCII, it is sent as 3 characters:

      • The first character is “=”

      • The next two are the hexadecimal representation of the byte

Mixed ASCII & non-ASCII data

ASCII data

CMPT 471  2003-3


Mail access protocols

Local SMTP server

Remote SMTP server

SMTP client

Stage 1 (SMTP)

Stage 2 (SMTP)

Mail box

Mail access server

Mail access client

Stage 3

(Mail Access Protocol)

Mail Access Protocols

  • Mail delivery

CMPT 471  2003-3


Mail access protocols cont
Mail Access Protocols (cont.)

  • Mail is stored in user’s permanent mailbox for later retrieval

  • Mail access protocol

    • To retrieve mails from a permanent mailbox to a local computer

    • To manipulate the mailbox content

    • Two popular mail access protocols

      • Post Office Protocol Version 3 (POP3)

      • Internet Mail Access Protocol Version 4 (IMAP4)

CMPT 471  2003-3


Mail access protocols cont1
Mail Access Protocols (cont.)

  • POP3

    • POP3 client creates a TCP connection to the POP3 server on the mailbox computer

    • Server authenticates the session using user-name and password

    • Client sends commands to retrieve a copy of one or more messages

    • Two modes

      • Delete mode: the mail is deleted from the mailbox after each retrieval

      • Keep mode: the mail remains in the mailbox after retrieval

CMPT 471  2003-3


Mail access protocols cont2
Mail Access Protocols (cont.)

User computer

Mail server

POP3 client

POP3 server

TCP XXXXX

TCP 110

User-name

OK

Password

OK

List

Email # and sizes

Retrieve 1

Email 1

……

Retrieve N

CMPT 471  2003-3

Email N


Mail access protocols cont3
Mail Access Protocols (cont.)

  • IMAP4

    • Similar functions as POP3

      • Mailboxes are located on the same computer as IMAP4 server

      • User runs IMAP4 client to contact the server and retrieve mails

    • Extended functions

      • A user can check the email header, or, search the contents of the mails for a specific string, before downloading

      • A user can partially download mail

      • A user can create, delete, or remove mailboxes on the mail server

      • A user can create a hierarchy of mailboxes in a folder for email storage

CMPT 471  2003-3