1 / 29

Application: Electronic Mail

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.

knoton
Download Presentation

Application: Electronic Mail

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

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

  5. Email System Model (cont.) Envelop Header Message Body 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 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 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 CMPT 471  2003-3

  9. 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

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

  12. 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

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

  15. Simple Mail Transfer Protocol (cont.) CMPT 471  2003-3

  16. Simple Mail Transfer Protocol (cont.) CMPT 471  2003-3

  17. 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

  18. 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

  19. 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

  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 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

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

  22. MIME Extensions (cont.) 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 Z I E 5 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 Mixed ASCII & non-ASCII data ASCII data CMPT 471  2003-3

  25. 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

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

  28. 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

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

More Related