Download presentation
Presentation is loading. Please wait.
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: usera@site1.com RCPT TO: userb@site2.edu From: User A To: User B Reply-to: usera@other.site 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@ site1.com userb@ site2.edu userc@ site1.com Many-to-one alias expander DB John (one recipient) william@ site1.com john@ site1.com black@ site1.com (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: site1.com 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.