Presentation is loading. Please wait.

Presentation is loading. Please wait.

Application: Electronic Mail Linda Wu (CMPT 471 2003-3)

Similar presentations

Presentation on theme: "Application: Electronic Mail Linda Wu (CMPT 471 2003-3)"— Presentation transcript:

1 Application: Electronic Mail Linda Wu (CMPT 471 2003-3)

2 Notes-19 CMPT 471  2003-3 2 Content  Email system model  SMTP protocol  MIME extensions  Mail access protocols Reference: chapter 27

3 Notes-19 CMPT 471  2003-3 3 Email System Model  Client-server model MTA User A (sender) User B (receiver) MTA ClientServer Relay Internet Alias expander DB MTA DB Spool UA Mailboxes UA interface Alias expander

4 Notes-19 CMPT 471  2003-3 4 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

5 Notes-19 CMPT 471  2003-3 5 Email System Model (cont.) MAIL FROM: RCPT TO: From: User A To: User B Reply-to: Date: dd/mm/yyyy Subject: …… Dear User B, …….. Yours, User A Body Header Message Envelop

6 Notes-19 CMPT 471  2003-3 6 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

7 Notes-19 CMPT 471  2003-3 7 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

8 Notes-19 CMPT 471  2003-3 8 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

9 Notes-19 CMPT 471  2003-3 9 Email System Model (cont.)  Email address Email address must be unique Two parts: local-part & domain-name 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

10 Notes-19 CMPT 471  2003-3 10 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

11 Notes-19 CMPT 471  2003-3 11 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

12 Notes-19 CMPT 471  2003-3 12 Email System Model (cont.) One-to-many alias expander DB friends (one name) usera@ userb@ userc@ Many-to-one alias expander DB John (one recipient) william@ john@ black@ (many recipients) (many addresses)

13 Notes-19 CMPT 471  2003-3 13 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

14 Notes-19 CMPT 471  2003-3 14 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 MTA client MTA server Commands Responses

15 Notes-19 CMPT 471  2003-3 15 Simple Mail Transfer Protocol (cont.) Commands keywordArgument(s)Meaning HELOSender’s host name To identify the client itself MAIL FROM Sender of the message To identify the sender of the mail RCPT TOIntended recipient To identify mail recipient DATABody of the mailTo send the actual message QUITTo terminate the message RSETTo abort the current mail transaction VRFYName of recipient to be verified To verify the address of the recipient NOOPTo check the status of the recipient

16 Notes-19 CMPT 471  2003-3 16 Simple Mail Transfer Protocol (cont.) Responses CodeMeaning Positive reply ……… 220Service ready 221Service closing transmission channel 250Requested command completed 251User not local; mail will be forwarded 354Start mail input Negative reply 421Service not available 450Mailbox not available..…… 500Syntax error; unrecognized command..……

17 Notes-19 CMPT 471  2003-3 17 Simple Mail Transfer Protocol (cont.) MAIL FROM: usera@site1.com250 OKRCPT TO: user2@site2.edu250 OKDATA354 start mail inputFrom: User ATo: User BDate: dd/mm/yyyySubject: …… (Empty line) Dear user B, …....250 OK MTA client MTA server EnvelopHeader Body

18 Notes-19 CMPT 471  2003-3 18 Simple Mail Transfer Protocol (cont.)  Mail transfer The process of transferring a mail has 3 phases  Connection establishment  Mail transfer  Connection termination

19 Notes-19 CMPT 471  2003-3 19 Simple Mail Transfer Protocol (cont.) Email transfer connection establishment MTA server 220 service ready TCP 25 MTA client TCP XXXXX 250 OK HELO: 221 service closed QUIT … mail transfer … Email transfer connection termination TCP connection ready

20 Notes-19 CMPT 471  2003-3 20 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 MIME User A SMTP MIME User B SMTP Non-ASCII 7-bit NVT ASCII Non-ASCII 7-bit NVT ASCII

21 Notes-19 CMPT 471  2003-3 21 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

22 Notes-19 CMPT 471  2003-3 22 MIME Extensions (cont.) Email header MIME-Version: 1.1 Content-Type: type/subtype Content-Transfer-Encoding: encoding type Content-Id: message id Content-Description: textual explanation of nontextual contents MIME header Email body

23 Notes-19 CMPT 471  2003-3 23 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 Non-ASCII data110011001000000100111001 110011 (51) 001000 (8) 000100 (4) 111001 (57) ASCII data01110011010010000100010000111001 Z I E 5

24 Notes-19 CMPT 471  2003-3 24 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 00100110 & 01001100 L 10011101 Non-ASCII 00111001 9 01001011 K 00100110 & 01001100 L 00111101 = 00111001 9 01000100 D 00111001 9 01001011 K Mixed ASCII & non-ASCII data ASCII data

25 Notes-19 CMPT 471  2003-3 25 Mail Access Protocols  Mail delivery SMTP client Local SMTP server Remote SMTP server Mail box Mail access server Mail access client Stage 1 (SMTP) Stage 2 (SMTP) Stage 3 (Mail Access Protocol)

26 Notes-19 CMPT 471  2003-3 26 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)

27 Notes-19 CMPT 471  2003-3 27 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

28 Notes-19 CMPT 471  2003-3 28 Mail Access Protocols (cont.) POP3 server User-name TCP 110 POP3 client TCP XXXXX Password OK Email 1 Retrieve 1 User computerMail server OK Email # and sizes List …… Email N Retrieve N

29 Notes-19 CMPT 471  2003-3 29 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

Download ppt "Application: Electronic Mail Linda Wu (CMPT 471 2003-3)"

Similar presentations

Ads by Google