1 / 62

Internet Engineering Course

Internet Engineering Course. Electronic Mail. Electronic Mail. Most heavily used application on any network Uses client-server architecture Electronic mail client accepts mail from user and delivers to server on destination computer Many variations and styles of delivery

erv
Download Presentation

Internet Engineering Course

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. Internet Engineering Course Electronic Mail

  2. Electronic Mail • Most heavily used application on any network • Uses client-server architecture • Electronic mail client accepts mail from user and delivers to server on destination computer • Many variations and styles of delivery • Simple Mail Transfer Protocol (SMTP) • TCP/IP • Delivery of simple text messages • Multi-purpose Internet Mail Extension (MIME) • Delivery of other types of data • Voice, images, video clips

  3. SMTP Concept

  4. User Agents and Mail Transfer Agents

  5. Relay MTAs

  6. Mail Gateways

  7. The Entire E-mail System

  8. SMTP • Simple Mail Transfer Protocol is standard application protocol for delivery of mail from source to destination • Built on top of TCP: provides reliable delivery of data • SMTP does not normally use intermediate mail servers for sending mail • SMTP uses persistent connections • Other functions: • E-mail address lookup • E-mail address verification • Example protocol exchange

  9. Sample SMTP interaction c:\Telnet payk.ui.ac.ir 25

  10. SMTP • RFC 821 • Not concerned with format of messages or data • Covered in RFC 822 (see later) • SMTP uses info written on envelope of mail • Message header • Does not look at contents • Message body • Except: • Standardize message character set to 7 bit ASCII

  11. Basic Operation • Mail created by user agent program (mail client) • Message consists of: • Header containing recipient’s address and other info • Body containing user data • Messages queued and sent as input to SMTP sender program • Typically a server process (daemon on UNIX)

  12. Mail Message Contents • Each queued message has: • Message text • RFC 822 header with message envelope and list of recipients • Message body, composed by user • A list of mail destinations • Derived by user agent from header • May be listed in header • May require expansion of mailing lists • May need replacement of mnemonic names with mailbox names • If BCCs indicated, user agent needs to prepare correct message format

  13. SMTP Sender • Takes message from queue • Transmits to proper destination host • Via SMTP transaction • Over one or more TCP connections to port 25 • Host may have multiple senders active • When delivery complete, sender deletes destination from list for that message • When all destinations processed, message is deleted

  14. Optimization • If message destined for multiple users on a given host, it is sent only once • Delivery to users handled at destination host • If multiple messages ready for given host, a single TCP connection can be used • Saves overhead of setting up and dropping connection

  15. Possible Errors • Host unreachable • Host out of operation • TCP connection fail during transfer • Sender can re-queue mail • Give up after a period • Faulty destination address • User error • Target user changed address • Redirect if possible • Inform user if not

  16. SMTP Protocol - Reliability • Used to transfer messages from sender to receiver over TCP connection • Attempts to provide reliable service • No guarantee to recover lost messages • No end to end acknowledgement to originator • Error indication delivery not guaranteed • Generally considered reliable

  17. SMTP Receiver • Accepts arriving message • Places in user mailbox or copies to outgoing queue for forwarding • Receiver must: • Verify local mail destinations • Deal with errors • Transmission • Lack of disk space • Sender responsible for message until receiver confirm complete transfer • Indicates mail has arrived at host, not user

  18. SMTP Forwarding • Mostly direct transfer from sender host to receiver host • May go through intermediate machine via forwarding capability • Sender can specify route • Target user may have moved

  19. Conversation • SMTP limited to conversation between sender and receiver • Main function is to transfer messages • Rest of mail handling beyond scope of SMTP • May differ between systems

  20. SMTP Mail Flow

  21. SMTP System Overview • Commands and responses between sender and receiver • Initiative with sender • Establishes TCP connection • Sender sends commands to receiver • e.g. HELO<SP><domain><CRLF> • Each command generates exactly one reply • e.g. 250 requested mail action ok; completed

  22. SMTP Replies • Leading digit indicates category • Positive completion reply (2xx) • Positive intermediate reply (3xx) • Transient negative completion reply (4xx) • Permanent negative completion reply (5xx)

  23. Operation Phases • Connection setup • Exchange of command-response pairs • Connection termination

  24. Connection Setup • Sender opens TCP connection with receiver • Once connected, receiver identifies itself • 220 <domain> service ready • Sender identifies itself • HELO • Receiver accepts sender’s identification • 250 OK • If mail service not available, step 2 above becomes: • 421 service not available

  25. Mail Transfer • Sender may send one or more messages to receiver • MAIL command identifies originator • Gives reverse path to used for error reporting • Receiver returns 250 OK or appropriate fail/error message • One or more RCPT commands identifies recipients for the message • Separate reply for each recipient • DATA command transfers message text • End of message indicated by line containing just period (.)

  26. Closing Connection • Two steps • Sender sends QUIT and waits for reply • Then initiate TCP close operation • Receiver initiates TCP close after sending reply to QUIT

  27. Electronic Mailboxes and Addresses • E-mail users have an electronic mailbox into which mail is deposited • Usually associated with computer account; one user may have different electronic mailboxes • User accesses mail with a mail reader program • Electronic mailbox is identified by an e-mail address mailbox@computer

  28. E-mail message format • Simple two-part format • Header includes delivery information • Body carries text of message • Header and body is separated by blank line

  29. E-mail Headers • Lines of text in format keyword: information • keyword identifies information; information can appear in any order • Essential information: • To: list of recipients • From: sender • Cc: list of copy recipients • Useful information • Reply-to: different address than From: • Received-by: for debugging • Frivolous information: • Favorite drink: lemonade • Phase-of-the-moon: gibbous

  30. Data in E-mail • Original Internet mail carried only 7-bit ASCII data • Couldn’t contain arbitrary binary values; e.g., executable program • Techniques for encoding binary data allowed transport of binary data • Uuencode: three 8-bit binary values as four ASCII characters (6 bits each) • Also carries file name and protection information • Incurs 33% overhead

  31. Multipurpose Internet Mail Extension (MIME) • Extension to RFC822 • SMTP can not transmit executables • Uuencode and other schemes are available • Not standardized • Can not transmit text including international characters (e.g. â, å, ä, è, é, ê, ë) • Need 8 bit ASCII • Servers may reject mail over certain size • Translation between ASCII and EBCDIC not standard • Some SMTP implementations do not adhere to standard • CRLF, truncate or wrap long lines, removal of white space, etc.

  32. MIME • Multipart Internet Mail Extensions - Extends and automates encoding mechanisms • Allows inclusion of separate components – programs, pictures, audio clips – in a single mail message • Sending program identifies the components so receiving program can automatically extract and inform mail recipient • Header includesMIME-Version: 1.0Content-Type: Multipart/Mixed; Boundary=Mime_separator • Separator line gives information about specific encodingContent-Type: text/plain

  33. MIME (cont.) • MIME is extensible – sender and receiver agree on encoding scheme • MIME is compatible with existing mail systems • Everything encoded as ASCII • Headers and separators ignored by non-MIME mail systems • MIME encapsulates binary data in ASCII mail envelope

  34. MIME

  35. Overview of MIME • Five new message header fields • MIME version • Content type • Content transfer encoding • Content Id • Content Description

  36. Content Types • Text body • Multipart • Mixed, Parallel, Alternative, Digest • Message • RFC 822, Partial, External-body • Image • jpeg, gif • Video • mpeg • Audio • Basic • Application • Postscript • octet stream

  37. MIME Transfer Encodings • Reliable delivery across wide largest range of environments • Content transfer encoding field • Six values • Three (7bit, 8bit, binary) no encoding done • Provide info about nature of data • Quoted-printable • Data largely printable ASCII characters • Non-printing characters represented by hex code • Base64 • Maps arbitrary binary input onto printable output • X-token • Named nonstandard encoding

  38. MIME: multimedia mail extension, RFC 2045, 2056 additional lines in msg header declare MIME content type From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data Message format: multimedia extensions MIME version method used to encode data multimedia data type, subtype, parameter declaration encoded data

  39. Multipart Type From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 --98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Dear Bob, Please find a picture of a crepe. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data --98766789-- Break into parts? Compare with HTTP? 2: Application Layer

  40. Printable Encoding of Binary Data into Radix-64 Format

  41. Programs as mail recipients • Can arrange for e-mailbox to be associated with a program rather than a user’s mail reader • Incoming mail automatically processed as input to program • Example – mailing list subscription administration • Can be used to implement client-server processing • Client request in incoming mail message • Server response in returned mail reply

  42. Mailing Lists and Forwarders • E-mail addresses can be attached to programs as well as electronic mailboxes • Mail exploder or mail forwarder resends copies of message to e-mail addresses in mailing list • UNIX mail program sendmail provides mail aliases • Mailing list processor, e.g. listserv, can also interpret subscription management commands

  43. Mail Gateways • Mailing list processing may take significant resources in large organizations • May be segregated to a dedicated server computer: mail gateway • Provides single mail destination point for all incoming mail • Can use MX records in DNS to cause all mail to be delivered to gateway

  44. Mail gateways and forwarding • Users within an organization may want to read mail on local or departmental computer • Can arrange to have mail forwarded from mail gateway • Message now makes multiple hops for delivery • Hops may be recorded in header • Forwarded mail may use proprietary (non-SMTP) mail system

  45. Mailbox Access • Where should mailbox be located? • Users want to access mail from most commonly used computer • Cannot always use desktop computer as mail server • Not always running • Requires multitasking OS • Requires local disk storage • Can TELNET to remote computer with mail server • Can use WEB based interfaces to access mailbox

  46. Mail Access Protocols • Instead of TELNET, use protocol that accesses mail on remote computer directly • Mail access protocol transfers mail from server to local PC • 2 popular protocols: • POP3 (Post Office Protocol v3) • IMAP (Internet Mail Access Protocol) • Can’t use SMTP because getting messages is a pull operation & SMTP is a push protocol.

  47. Post Office Protocol (POP) • TCP/IP suite includes Post Office Protocol (POP) for remote mailbox access • Computer with mailboxes runs POP server • User runs POP client on local computer • POP client can access and retrieve messages from mailbox • Requires authentication (password) • Local computer uses SMTP for outgoing mail

  48. POP3 and SMTP

  49. POP3 • Stands for Post Office Protocol – Version 3 • RFC in 1993 • POP3 “is intended to permit a workstation to dynamically access a maildrop on a server host in a useful fashion. Usually, this means that the POP3 protocol is used to allow a workstation to retrieve mail that the server is holding for it.“

More Related