120 likes | 267 Views
Chapter 30 Electronic Mail Representation & Transfer. Electronic Mailboxes and Addresses. Mailbox is a location used to hold mail (eg. jupiter:/var/spool/mail/mailboxid is used to hold incoming mail) mailbox address format mailboxID@computer (eg. username@domainname)
E N D
Electronic Mailboxes and Addresses • Mailbox is a location used to hold mail • (eg. jupiter:/var/spool/mail/mailboxid is used to hold incoming mail) • mailbox address format mailboxID@computer (eg. username@domainname) • Each electronic mailbox has a unique address, which is divided into two parts: • the first part (mailbox identifier) is interpreted locally for selecting a particular mailbox into which a message should be placed • second part is used to select a destination computer.
Email Message Format • An email message consists of two parts separated by a blank line. • The first part is the header which specifies the sender, recipients , and subject. • The second part is the body that contains the text of the message. • Each header line begins with a keyword (eg. To, From, Cc, Bcc, Date, Subject) followed by a colon and additional information (fig 30.2). • Header lines which are not understood by email software are passed through unchanged => good for communication between email applications.
Multipurpose Internet Mail Extensions • Email systems originally designed use ASCII text only • binary data (eg. graphics and programs) has to be encoded into text via hex representation • Base64 encodes every 6 bits into one of 64 ASCII characters • MIME (multipurpose Internet mail extensions) standard allows a sender to encode non-text data for transmission. • MIME does not specify a single standard for encoding; sender can inform a recipient about the encoding used. • message header lines used to indicate that the message adheres to MIME format • MIME-Version: 1.0 • Content-Type: text/plain (or Multipart/Mixed, audio, video, app) • data type and the encoding specified in body. • This allows the message body to contain different sections with different encoding.
Email and Application Programs • An email address can correspond to a program which gets invoked automatically at destination instead of a mailbox. • This facilitates automated response email systems
Mail Transfer & SMTP • user interacts with email interface program when writing or reading messages. • The underlying email system contains a separate mail transfer program that handles the details of sending a copy of the message to a remote computer (fig 30.3). • Outgoing messages are placed by the email interface program to a queue that the mail transfer program handles. (eg. jupiter: /var/spool/mqueue) • The mail transfer program waits for a message to be placed on its queue, and then transfers a copy of the message to each recipient, which can be on local computer or on remote computer.
Mail Transfer & SMTP (cont.) • To send mail to remote computer, the mail transfer program running as a client in the background on sender’s computer contacts the email server on the recipient’s computer by opening a TCP connection to port 25. • Simple Mail Transfer Protocol (SMTP) is then used by the two programs which allows the sender to identify itself, specify a recipient, and to transfer the message to the recipient’s mailbox. • SMTP guarantees reliable delivery: sender does not delete its copy of message until receiver has stored a copy on its hard disk.
SMTP Protocol • RFC 821 • SMTP commands • HELO • MAIL FROM: sender email address • RCPT TO: recipient email address • DATA • QUIT
Mail Exploders, Forwarders, and Mailing Lists • Mail exploder, mail forwarder, or mailing list is a program that can forward copies of a message. • An exploder uses a database(eg. flat file of list name followed by email address of users in mailing list) to provide communication among large groups of participants (fig 30.4). • When a message is sent to a mailing list, the exploder forwards a copy to each member of the list. • Automated list manager is an automated program that accepts a request to add (eg. subscribe mailbox listname) or remove a user’s email address from a particular mailing list
Mail Gateways • Aka mail relay (fig 30.5) • a computer used to forward email. • mail gateway can be used to make email addresses of all users uniform. • A database on gateway must contain an entry for user that specifies the employee’s mailbox on a specific machine in the company. • Exploder on gateway would forward mail to user’s internal mailbox. • advantage of mail gateways is flexibility in moving internal mailboxes to different servers.
Mailbox Access • POP(Post Office Protocol) • POP client run on microcomputers to access a mailbox on a remote computer. • POP server access the contents of user’s mailbox on remote server. • Mail server uses SMTP protocol while POP server uses POP protocol (fig 30.6). • IMAP • IMAP client software runs on microcomputer • IMAP server runs on mail server
Mail Transfer at CSLA • (mail.jpg)