E-mail, SMTP, and MIME types Lesson 26 - (1 of 41) Outline: E-mail, SMTP, and MIME types • Mail Systems: – Terminology – Delayed Delivery • Names and Aliases: • Controlling E-Mail Messages: • Internetworking and Mail: • Mail Gateways: • Mail Addresses: • Simple Mail Transfer Protocol (SMTP): • Post Office Protocol (POP) • E-Mail Application Program Interfaces: – MAPI – AOCE • MIME Extensions • MIME Types and Subtypes • S/MIME Content Type • MIME Multipart Messages Lesson 26 - (2 of 41) Mail Systems: • Interactive Client / Server Message Exchange: – Messages can be generated and delivered using an electronic mail client. – Those messages are then passed point-to-point, from e-mail server to e-mail server, until delivered or rejected. Lesson 26 - (3 of 41) Mail Systems: • Mail systems differ from normal network delivery since the absolute destination can be down or the mail recipient may not be on-line (delayed delivery). • Similar to conventional mailing schemes, e-mail allows a server to place successfully delivered mail in the recipients mailbox. Lesson 26 - (4 of 41) Mail Systems: Terminology • Terminology: – E-mail (Electronic Mail) - most computers support e-mail of different types and over different operating platforms (delivery times range from seconds...hours or days.) – Snail Mail (Conventional Mail) - post office is used and manually delivered (takes several days). Lesson 26 - (5 of 41) Mail Systems: Delayed Delivery • Spooling or Mail Queues store mail messages the user sends in a private area, which include the following information: – ID of sender – ID recipient – Destination machine address – Time of deposit Lesson 26 - (6 of 41) Mail Systems: Delayed Delivery • After spooling messages, the system then initiates the transfer to the remote machine as a background activity. • Spooled messages can be sent at various times in block amounts (transfer process sweeps through the spool area periodically). Lesson 26 - (7 of 41) Components of an E-Mail System: user send mail ...... user interface user reads mail ...... outgoing mail spool area mailboxes for incoming mail client TCP connection (background transfer) for outgoing mail server (to accept mail) TCP connection for outgoing mail Lesson 26 - (8 of 41) Names and Aliases: • Recipients specified by pair of identifiers: – Mail destination machine name. – Mailbox address on that machine. • Mail machine names and mailboxes can be assigned independently of other names assigned to a machine (position of employment or responsibility). Lesson 26 - (9 of 41) Names and Aliases: • The domain name system (DNS) supports a database and query type for mail destinations. • This makes it possible to de-couple mail destination names from usual domain names for machines. • Some e-mail packages require explicit DNS commands be used when sending e-mail (VAX/VMS requires MX%”name”) Lesson 26 - (10 of 41) Controlling E-Mail Messages: • Methods of sending e-mail: – One-to-one. – One to a group of e-mail addresses (all specified each time). – Mail Aliases – Mail Exploder (listservers) – Majordomo (automated response e-mail) Lesson 26 - (11 of 41) Controlling E-Mail Messages: • Mail Alias Expansion (mail forwarder): – Allows the local site to map identifiers used in mail addresses to a set of new mail addresses (electronic mailing lists, mail forwarding). – Files can be setup in UNIX accounts to allow email messages to automatically be forwarded to another specified e-mail account. Lesson 26 - (12 of 41) Controlling E-Mail Messages: • Mail Exploder: – Accepts one incoming message and sends it to a large set of recipients. – Acts as an alias for a group destinations where a copy is sent to each member (listservers). Lesson 26 - (13 of 41) alias database user sends mail ...... user interface user reads mail ...... alias expansion and forwarding outgoing mail spool area mailboxes for incoming mail server (to accept mail) client (background transfer) Lesson 26 - (14 of 41) Internetworking and Mail: • Commercial e-mail systems differ from TCP/IP in two crucial ways: – TCP/IP on the Internet creates a universal delivery service. – E-mail systems built on TCP/IP are more reliable (TCP provides end-to-end connectivity). Lesson 26 - (15 of 41) Internetworking and Mail: • Mail systems that use end-to-end delivery can guarantee that each mail message remains in the sender’s machine until it has been successfully copied to the recipient’s machine. Lesson 26 - (16 of 41) Mail Gateways: • Mail Gateways (mail bridges): – Are not end-to-end, but send mail across intermediate machines that forward the mail messages. – Advantage - provides interoperability between various e-mail systems and networks. – Disadvantage - introduces unreliability. Lesson 26 - (17 of 41) Mail Gateways: • TCP/IP mail standard has two main parts: – Specifies the format for mail messages and their headers. – Specifies the details of electronic mail exchange. Lesson 26 - (18 of 41) Mail Addresses: • Connected Internet addresses are simple: (localpart@domain-name) – Localpart - usually a user’s ID or account name. – Domain-name - officially registered with the IAB, this name is usually structured to reflect: • Machine name. • Site name. • Top-level domain. Lesson 26 - (19 of 41) Mail Addresses: • Outside connected Internet addresses are complex since mail address mapping functions are local to each machine. • They are not always in domain-name format. – dzt!mttec@mt.att.com – comer%purdue.edu@relay.cs.net Lesson 26 - (20 of 41) Simple Mail Transfer Protocol (SMTP): • Simple Mail Transfer Protocol (SMTP): – This protocol focuses specifically on how the underlying mail delivery system passes messages from machine to machine. – It is an official TCP/IP standard application protocol. Lesson 26 - (21 of 41) Simple Mail Transfer Protocol (SMTP): • It provides readable text transcripts of clientserver interactions in the mail header and integer values for commands: – MAIL FROM – RCPT TO – HELO – 250 OK – QUIT Lesson 26 - (22 of 41) Example SMTP Interaction: • S: hertz.njit.edu Simple Mail Transfer Service Ready. • C: HELO pegasus.rutgers.edu • S: 250 hertz.njit.edu • C: MAIL FROM: <jverga@pegasus.rutgers.edu> • S: 250 OK • C: RCPT TO: <dzt8474@hertz.njit.edu> • S: 250 OK Lesson 26 - (23 of 41) Example SMTP Interaction: (Continued) • C: DATA • S: 354 Start mail input; end with <CR><LF>.<CR><LF> • C: …sends body of mail message… • C: …continues for as many lines as message contains • C: <CR><LF>.<CR><LF> • S: 250 OK • C: QUIT • S: 221 hertz.njit.edu Service closing transmission. Lesson 26 - (24 of 41) Post Office Protocol (POP): • Post Office Protocol - Version 3 (POP3): – Is intended to permit a workstation to dynamically access a maildrop (mail server) on a server host in a useful fashion. – Usually, this means that the POP3 is used to allow a workstation to retrieve mail that the server is holding for it. – Access to a POP3 server requires a username and password. Lesson 26 - (25 of 41) E-Mail Application Program Interfaces: MAPI • Messaging Application Program Interface (MAPI): – Is a set of messaging functions that helps you create mail-enabled applications as well as other message-based applications. – With MAPI functions, you can easily add messaging to any Windows application and may or not include a user interface (a dialog box). – It is supported by many vendors (Microsoft). Lesson 26 - (26 of 41) E-Mail Application Program Interfaces: AOCE • What is AOCE? – AOCE stands for Apple Open Collaboration Environment. – It is a set of technologies that provide for system-level collaboration and messaging services. – The first incarnation of AOCE was in the form of PowerShare and PowerTalk, the AOCE server and client, respectively. – It is a proposed standard interface to e-mail. Lesson 26 - (27 of 41) MIME Extensions: • Multipurpose Internet Mail Extensions (MIME): – Defined by IETF to allow transmission of nonASCII data via e-mail. – It allows arbitrary data to be encoded in ASCII for normal transmission. – All media types that are sent/received over the World Wide Web are encoded using different MIME types. Lesson 26 - (28 of 41) MIME Extensions: 822 Mail Header • Messages sent using MIME encoding include information that describes the type of data and the encoding that was used (resides in 822 mail header). • 822 Mail Header: – Version of MIME used. – Type of data sent. – Encoding method used. Lesson 26 - (29 of 41) Example 822 Mail Message Header: • • • • • From: dzt@mttec.mt.att.com To: jverga@pegasus.rutgers.edu MIME-Version: 1.0 Content-Type: image/gif Content-Transfer-Encoding: base64 …data for the image... Lesson 26 - (30 of 41) MIME Types and Subtypes: • All different media encoding done in MIME is classified as a combination of types and subtypes. • Each MIME Content-Type must contain two identifiers: – Content Type – Content Subtype Lesson 26 - (31 of 41) MIME Types and Subtypes: • There are seven official (standardized) contenttypes that can appear in a MIME Content-Type declaration: – Text - Textual documents. – Image - A computer generated image. – Audio - A sound file. – Video - A motion video recording. Lesson 26 - (32 of 41) MIME Types and Subtypes: – Application - Raw data for a program. – Multipart - Multiple messages, each having a separate content type and encoding. – Message - An entire e-mail message or an external reference to a message (FTP server and filename). Lesson 26 - (33 of 41) MIME Types and Subtypes: • An eight type has been proposed and will most likely be approved to supply a secure method for transferring encoded data: – Secure - Data is sent encrypted and in a secure fashion. • The push for an official secure MIME contenttype has come about due to the increased interest in doing business over the WWW. Lesson 26 - (34 of 41) S/MIME Content Type: • What is S/MIME? – A specification for secure electronic mail. – S/MIME stands for Secure/Multipurpose Internet Mail Extensions and was designed to add security to e-mail messages in MIME format. • The security services offered are authentication (using digital signatures) and privacy (using encryption). Lesson 26 - (35 of 41) S/MIME Content Type: • Why S/MIME? – In the growing demand for e-mail security, S/MIME melds proven cryptographic constructs with standard e-mail practices. • Is S/MIME a standard? – No. Although the S/MIME spec will be submitted to the IETF for consideration as an official Internet RFC (standard) when interoperability tests are complete. Lesson 26 - (36 of 41) MIME Types and Subtypes: • Examples of Content Type/ Subtype: – image/jpeg – text/html – video/mpeg – audio/x-wav – application/octet-stream Lesson 26 - (37 of 41) MIME Multipart Messages: • Multipart content type has four subtypes, each of which adds significant flexibility to MIME encoding: – Mixed - allows a single message to contain multiple independent sub-messages, each of which is separately encoded (HTML documents with images). Lesson 26 - (38 of 41) MIME Multipart Messages: – Alternative - a single message can include multiple representations of the same data type (ASCII and Rich Text Format). – Parallel - a single message that includes subparts which should be viewed together (video with audio). – Digest - a single message that can contain a set of other messages (e-mail messages from a discussion). Lesson 26 - (39 of 41) Questions E-mail, SMTP, and MIME types • Why do you think MIME-encoded messages used as the foundation of WWW technology? • How does one setup a mail-reflector in there account to forward e-mail? • A listserv is a special type of e-mail broadcasting. Explain. • What are Mail APIs used for? Give an example. • What specific MIME type(s) would be used to send an HTML page with in-line video/audio Lesson 26 - (40 of 41) support? Reference Materials E-mail, SMTP, and MIME types • RFC 1651, 1652, 1653: SMTP Services (http://www.cis.ohio-state.edu/htbin/rfc/rfc1651.html) • E-Mail API Web Resources: (http://andrew2.andrew.cmu.edu/cyrus/email/standards-apis.html) • RFC 1081, 1082: Post Office Protocol - Version 3 (http://www.cis.ohio-state.edu/htbin/rfc/rfc1081.html) • Writing your own SMTP gateway: (http://www.vb-online.com/sep95/smtp.html) • RFC 1521, 1522: MIME Extensions and Headers (http://www.cis.ohio-state.edu/htbin/rfc/rfc1521.html) Lesson 26 - (41 of 41)