Internet Electronic Mail

Similar documents
Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Internet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016

CS 43: Computer Networks. 12: and SMTP September 28, 2018

The Application Layer: & SMTP

Internet and Intranet Protocols and Applications

Simple Network Management Protocol (SNMP)

Application: Electronic Mail

SMTP. George Porter CSE 124 February 12, 2015

Chapter 2 Application Layer

Electronic mail, usually called , consists of simple text messages a piece of text sent to a recipient via the internet.

DNS and SMTP. James Walden CIT 485: Advanced Cybersecurity. James WaldenCIT 485: Advanced Cybersecurity DNS and SMTP 1 / 31

The Application Layer: SMTP, FTP

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CompSci 356: Computer Network Architectures. Lecture 23: Application Layer Protocols Chapter 9.1. Xiaowei Yang

CS 418 Web Programming Spring 2013 SENDING SCOTT G. AINSWORTH.

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

COSC 301 Network Management. Lecture 14: Electronic Mail

Electronic Mail. Prof. Indranil Sen Gupta. Professor, Dept. of Computer Science & Engineering Indian Institute of Technology Kharagpur

Lecture 6: Application Layer Web proxies, , and SMTP

Simple Network Management Protocol (SNMP)

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSC 4900 Computer Networks:

Overview. Electronic mail. History Format of . Sending . Retrieving . RFC 822, MIME, addresses SMTP, DNS. POP, IMAP, Web-based

Electronic Mail

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Chapter 20 SMTP. Slides from TCP/IP - Forouzan. User Agent (UA) Addressing Delayed Delivery Aliases Mail Transfer Agent (MTA) MIME POP.

WWW: the http protocol

Electronic Mail (SMTP)

CSC 401 Data and Computer Communications Networks

. SMTP, POP, and IMAP

CIT 470: Advanced Network and System Administration. Topics. Mail Policies.

Computer Network 1 1

Electronic Mail Paradigm

Electronic Mail. Electronic Mailboxes

Network Applications Electronic Mail

Application Layer Chapter 2

Internet Protocols. Robin Sharp

Debian/GNU Linux Mailing

The Transport Layer. Antonio Carzaniga. October 27, Faculty of Informatics Università della Svizzera italiana

Basic Concepts In Computer Networking

Outline. EEC-484/584 Computer Networks. Slow Start Algorithm. Internet Congestion Control Algorithm

Network Working Group Request for Comments: 1844 Obsoletes: 1820 August 1995 Category: Informational

CS 3516: Computer Networks

How Internet Works

Internet Technology 2/10/2016

Agenda. What is ? Brief Introduction To . History Of . Components Of System. Basics

Application Layer Services Omer F. Rana. Networks and Data Communications 1

Basics BUPT/QMUL

Debian/GNU Linux Mailing

Basics BUPT/QMUL

anti-spam techniques beyond Bayesian filters

Who s Marcus? mail() 2008 Marcus Bointon

INTERNET & WORLD WIDE WEB (UNIT-1) MECHANISM OF INTERNET

FTP. FTP offers many facilities :

Integration Guide Xura Messaging SMTP- Interface

Network Applications and the Web

System: Basic Functionality

The MIME format. What is MIME?

Protocols and Software. Nixu Ltd.

Internet Mail: The SMTP Model

Chapter 2: Application layer

Fig (1) sending and receiving s

Text-Based Protocols. Many common protocols based on sending text messages. Built atop the TCP stream protocol. Lines terminated with \r\n.

Objectives CINS/F1-01

Information Network Systems The application layer. Stephan Sigg

CS348: Computer Networks (SMTP, POP3, IMAP4); FTP

. indigoo.com INTRODUCTION TO MAIL TRANSFER PROTOCOLS FOR THE INTERNET. Peter R. Egli INDIGOO.COM. 1/35 Rev Peter R.

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2 Application Layer

Application Inspection and Control for SMTP

Experience in implementing an /web gateway

Answer to the written exam given on TDTS06 Computer networks, October 23,

Additional laboratory

Spam and Ham 성균관대학교 최형기

Layered Model. DoD Model. ISO/OSI Model

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Network concepts introduction & wireshark

Networking Overview: Everything you need to know, in 50 minutes. CS 161: Computer Security Prof. David Wagner

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Debian/GNU Linux Mailing

Socket Programming. Dr. -Ing. Abdalkarim Awad. Informatik 7 Rechnernetze und Kommunikationssysteme

The Application Layer

Experiment No: Group A-6

is still the most used Internet app. According to some studies around 85% of Internet users still use for communication.

ECE 435 Network Engineering Lecture 6

Contents. Management. Client. Choosing One 1/20/17

What is ? TCP/IP Standard Applications for Electronic Mail. Agenda. History

ECE697AA Lecture 2. Today s lecture

CHAPTER 22 DISTRIBUTED APPLICATIONS ANSWERS TO QUESTIONS ANSWERS TO PROBLEMS

Network concepts introduction & wireshark. workshop

Networking Fundamentals: IP, DNS, URL, MIME

SPF (Sender Policy Framework)

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

Internet Engineering Task Force (IETF) Request for Comments: 6522 STD: 73 January 2012 Obsoletes: 3462 Category: Standards Track ISSN:

Chapter 7 (Week 13) The Application Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

ing With PHP History of Applications or Use

Applications FTP. FTP offers many facilities :

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

Header- A Forensic Key to Examine an

Telemetry Data Sharing Using S/MIME

Transcription:

Internet Electronic Mail Antonio Carzaniga Faculty of Informatics University of Lugano March 9, 2010

Outline General concepts Transport protocol: SMTP Basic message format MIME format

A Postal Service for the Internet 2005 2007 Antonio Carzaniga

A Postal Service for the Internet Alice

A Postal Service for the Internet Alice Bob

A Postal Service for the Internet Alice Alice Green via Buffi 6 Lugano, CH-6900 Bob Bob Blue via Lambertenghi 10A Lugano, CH-6900

A Postal Service for the Internet Alice Alice Green via Buffi 6 Lugano, CH-6900 Bob Bob Blue via Lambertenghi 10A Lugano, CH-6900 Bob Blue Re: Your lecture on DNS Alice Green Lugano, April 15, 2005 Dear Bob, I wanted to tell you that last week s lecture on DNS......

Features and Goals 2005 2007 Antonio Carzaniga

Features and Goals Asynchronous communication Alice sends a message when it is convenient to her Bob reads Alice s message whenever he has time to do that

Features and Goals Asynchronous communication Alice sends a message when it is convenient to her Bob reads Alice s message whenever he has time to do that One-to-many communication Alice can send a message to Bob and Charlie a mailing list sends messages to several receivers

Features and Goals Asynchronous communication Alice sends a message when it is convenient to her Bob reads Alice s message whenever he has time to do that One-to-many communication Alice can send a message to Bob and Charlie a mailing list sends messages to several receivers Multi-media content images and all sorts of attachments as well as normal text

Limitations 2005 2007 Antonio Carzaniga

Limitations No authentication Bob can not know for sure that the message he reads was actually written by Alice messages can be modified messages can be forged

Limitations No authentication Bob can not know for sure that the message he reads was actually written by Alice messages can be modified messages can be forged No confidentiality Alice can not make sure that only Bob will read the message the message can be read by others

Limitations No authentication Bob can not know for sure that the message he reads was actually written by Alice messages can be modified messages can be forged No confidentiality Alice can not make sure that only Bob will read the message the message can be read by others Little or no delivery guarantees Alice has no idea whether the messages was in fact receiver (much less read!) by Bob messages can be accidentally lost or intentionally blocked no reliable acknowledgement system

Architecture and Terminology 2005 2007 Antonio Carzaniga

Architecture and Terminology 2005 2007 Antonio Carzaniga

Architecture and Terminology 2005 2007 Antonio Carzaniga

Architecture and Terminology user agent user agent

Architecture and Terminology user agent user agent mail server mail server

Architecture and Terminology user agent user agent mail server mail server

Architecture and Terminology user agent user agent transport protocol mail server mail server

Architecture and Terminology user agent user agent transport protocol mailbox mail server mail server

Architecture and Terminology user agent user agent access protocol transport protocol mailbox mail server mail server

Architecture and Terminology 2005 2007 Antonio Carzaniga

Architecture and Terminology User agent allows a user to read, compose, reply to, send, and forward messages and also to save, classify, sort, search,...

Architecture and Terminology User agent allows a user to read, compose, reply to, send, and forward messages and also to save, classify, sort, search,... Mail servers accept messages for remote delivery store messages in a local persistent queue deliver messages to a remote (destination) server using the transport protocol accept messages for local delivery save messages in some local persistent mailbox allow user agents to access local mailboxes user agents can retrieve and/or delete messages this is done through an access protocol 2005 2007 Antonio Carzaniga

SMTP 2005 2007 Antonio Carzaniga

SMTP Simple Mail Transfer Protocol (defined in RFC 2821)

SMTP Simple Mail Transfer Protocol (defined in RFC 2821) Connection-oriented protocol

SMTP Simple Mail Transfer Protocol (defined in RFC 2821) Connection-oriented protocol It is simple indeed its simplicity is a reason for its success

SMTP Simple Mail Transfer Protocol (defined in RFC 2821) Connection-oriented protocol It is simple indeed its simplicity is a reason for its success It is an old protocol, compared to HTTP; the first RFCs date back to the early 80s it has some archaic charachteristics. E.g., it is restricted to 7-bit characters

SMTP Abstract Example usi.ch colorado.edu client server

SMTP Abstract Example usi.ch colorado.edu hello client server

SMTP Abstract Example usi.ch hello, this is usi.ch colorado.edu hello client server

SMTP Abstract Example usi.ch hello, this is usi.ch hello usi.ch, go ahead colorado.edu hello client server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch client server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message okay, I m ready to copy server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message okay, I m ready to copy... server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message okay, I m ready to copy... okay, I got the message server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message okay, I m ready to copy... okay, I got the message bye now server

SMTP Abstract Example usi.ch colorado.edu hello hello, this is usi.ch hello usi.ch, go ahead I have a message from antonio.carzaniga@usi.ch okay, I got the sender client the message is for alw@cs.colorado.edu okay, I got the receiver here comes the message okay, I m ready to copy... okay, I got the message bye now okay, bye server

SMTP Concrete Example usi.ch colorado.edu client server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu client server

SMTP Concrete Example usi.ch HELO usi.ch colorado.edu 220 colorado.edu client server

SMTP Concrete Example usi.ch HELO usi.ch colorado.edu 220 colorado.edu 250 ok client server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> client server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA 354 End data with <CR><LF>.<CR><LF> server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA 354 End data with <CR><LF>.<CR><LF>... server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA 354 End data with <CR><LF>.<CR><LF>... 250 Message accepted server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA 354 End data with <CR><LF>.<CR><LF>... 250 Message accepted QUIT server

SMTP Concrete Example usi.ch colorado.edu 220 colorado.edu HELO usi.ch 250 ok MAIL FROM: <antonio.carzaniga@usi.ch> 250 ok client RCPT TO: <alw@colorado.edu> 250 ok DATA 354 End data with <CR><LF>.<CR><LF>... 250 Message accepted QUIT 221 Bye server

SMTP Concrete Example usi.ch HELO usi.ch colorado.edu 220 colorado.edu MAIL FROM: <antonio.carzaniga@usi.ch> RCPT TO: <alw@colorado.edu> DATA... QUIT 250 ok 250 ok 250 ok 354 End data with <CR><LF>.<CR><LF> 250 Message accepted 221 Bye envelope

SMTP Concrete Example message usi.ch HELO usi.ch colorado.edu 220 colorado.edu MAIL FROM: <antonio.carzaniga@usi.ch> RCPT TO: <alw@colorado.edu> DATA... QUIT 250 ok 250 ok 250 ok 354 End data with <CR><LF>.<CR><LF> 250 Message accepted 221 Bye envelope

Message Format 2005 2007 Antonio Carzaniga

Message Format From: antonio.carzaniga@.usi.ch Date: Mon, 3 Apr 2005 16:48:22-0600 (MDT) To: carzanig@cs.colorado.edu Subject: how to send fake e-mail messages Hey Dude, I heard this story about forging messages. Do you know anything about that?...

Message Format From: antonio.carzaniga@.usi.ch Date: Mon, 3 Apr 2005 16:48:22-0600 (MDT) To: carzanig@cs.colorado.edu Subject: how to send fake e-mail messages header lines Hey Dude, I heard this story about forging messages. Do you know anything about that?...

Message Format From: antonio.carzaniga@.usi.ch Date: Mon, 3 Apr 2005 16:48:22-0600 (MDT) To: carzanig@cs.colorado.edu Subject: how to send fake e-mail messages Hey Dude, I heard this story about forging messages. Do you know anything about that?... header lines empty line

Message Format From: antonio.carzaniga@.usi.ch Date: Mon, 3 Apr 2005 16:48:22-0600 (MDT) To: carzanig@cs.colorado.edu Subject: how to send fake e-mail messages Hey Dude, I heard this story about forging messages. Do you know anything about that?... header lines empty line message body

Received: Headers SMTP is almost completely oblivious to the content of a message. One exception is the Received: header. Every receiving SMTP server must add a Received: header.

Received: Headers SMTP is almost completely oblivious to the content of a message. One exception is the Received: header. Every receiving SMTP server must add a Received: header. Received: from mroe.cs.colorado.edu (mroe-fs.cs.colorado.edu [128.138.242.197]) by serl.cs.colorado.edu (Postfix) with ESMTP id 9AC463D07 for <carzanig@serl.cs.colorado.edu>; Mon, 3 Apr 2006 13:39:28-0600 Received: from max.colorado.edu (max.colorado.edu [128.138.129.234]) by mroe.cs.colorado.edu (Postfix) with ESMTP id 541C8577A for <carzanig@cs.colorado.edu>; Mon, 3 Apr 2006 13:43:59-0600 Received: from cs.colorado.edu (host132-91.pool82107.interbusiness.it [82.107.91.132]) by max.colorado.edu (8.13.6/8.13.6/Hesiod+SSL) with ESMTP id... for <carzanig@cs.colorado.edu>; Mon, 3 Apr 2006 13:38:12-0600

Consider the following SMTP client directives Message vs. Envelope

Consider the following SMTP client directives Message vs. Envelope 1. MAIL FROM: <antonio.carzaniga@usi.ch>

Consider the following SMTP client directives Message vs. Envelope 1. MAIL FROM: <antonio.carzaniga@usi.ch> 2. RCPT TO: <carzanig@cs.colorado.edu>

Consider the following SMTP client directives Message vs. Envelope 1. MAIL FROM: <antonio.carzaniga@usi.ch> 2. RCPT TO: <carzanig@cs.colorado.edu> 3. From: Barak H. Obama <president@whitehouse.gov> To: Deserters <all@iobject.org> Subject: warning... You can run, but you can t hide!

Consider the following SMTP client directives Message vs. Envelope 1. MAIL FROM: <antonio.carzaniga@usi.ch> 2. RCPT TO: <carzanig@cs.colorado.edu> 3. From: Barak H. Obama <president@whitehouse.gov> To: Deserters <all@iobject.org> Subject: warning... You can run, but you can t hide! Anything wrong with this exchange?

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses There are many situations in which it is perfectly legitimate to have envelope addresses that don t match up with the message addresses

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses There are many situations in which it is perfectly legitimate to have envelope addresses that don t match up with the message addresses a message from a mailing list

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses There are many situations in which it is perfectly legitimate to have envelope addresses that don t match up with the message addresses a message from a mailing list a blind copy

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses There are many situations in which it is perfectly legitimate to have envelope addresses that don t match up with the message addresses a message from a mailing list a blind copy a message to multiple receivers (To: and/or Cc:)

Message vs. Envelope The MAIL FROM: and RCPT TO: SMTP messages specify envelope addresses From: and To: (and Cc:) headers within a message define message addresses There are many situations in which it is perfectly legitimate to have envelope addresses that don t match up with the message addresses a message from a mailing list a blind copy a message to multiple receivers (To: and/or Cc:) a forwarded (or re-sent) message

Limitations of the Message Format The standard message format has some serious limitations

Limitations of the Message Format The standard message format has some serious limitations 7-bit (text) content

Limitations of the Message Format The standard message format has some serious limitations 7-bit (text) content only text

Limitations of the Message Format The standard message format has some serious limitations 7-bit (text) content only text essentially good exclusively for the English language

Limitations of the Message Format The standard message format has some serious limitations 7-bit (text) content only text essentially good exclusively for the English language monolithic data

Limitations of the Message Format The standard message format has some serious limitations 7-bit (text) content only text essentially good exclusively for the English language monolithic data The Multipurpose Internet Mail Extensions (MIME) specification (RFC 2045 and RFC 2046) defines extensions of the basic message format that support all of the above

MIME Supports multimedia content

MIME Supports multimedia content Supports different encodings for text (different from ASCII)

MIME Supports multimedia content Supports different encodings for text (different from ASCII) Supports messages consisting of multiple parts E.g., a message containing some text and an image a message containing a binary attachment (e.g., an executable program, a document, etc.) a message containing another message a message containing some Italian text plus another message containing German text a message containing another message, conataining another message,...

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include:

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include: text/plain this is a normal ASCII message

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include: text/plain this is a normal ASCII message text/html this is an HTML-formatted message

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include: text/plain this is a normal ASCII message text/html this is an HTML-formatted message image/jpeg this message contains (only) an image file

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include: text/plain this is a normal ASCII message text/html this is an HTML-formatted message image/jpeg this message contains (only) an image file multipart/mixed this message consists of multiple parts

MIME Headers The primary mechanism used by MIME extensions consists of added MIME headers MIME-Version: 1.0 signals a user agent that this message uses MIME extensions, version 1.0 Content-Type:... specifies the content of the message. Valid types include: text/plain this is a normal ASCII message text/html this is an HTML-formatted message image/jpeg this message contains (only) an image file multipart/mixed this message consists of multiple parts...

MIME Encoding An Internet mail message must contain only 7-bit characters, therefore any content that does not fit the 7-bit (ASCII) character set must be encoded

MIME Encoding An Internet mail message must contain only 7-bit characters, therefore any content that does not fit the 7-bit (ASCII) character set must be encoded Content-Transfer-Encoding: defines the encoding for the message content (or a part thereof). Common values are:

MIME Encoding An Internet mail message must contain only 7-bit characters, therefore any content that does not fit the 7-bit (ASCII) character set must be encoded Content-Transfer-Encoding: defines the encoding for the message content (or a part thereof). Common values are: base64

MIME Encoding An Internet mail message must contain only 7-bit characters, therefore any content that does not fit the 7-bit (ASCII) character set must be encoded Content-Transfer-Encoding: defines the encoding for the message content (or a part thereof). Common values are: base64 Quoted-Printable

MIME Multipart Messages Several functionalities of the MIME extensions depend on the ability to carry multiple parts within the same message e.g., to implement attachments 2005 2007 Antonio Carzaniga

MIME Multipart Messages Several functionalities of the MIME extensions depend on the ability to carry multiple parts within the same message e.g., to implement attachments Content-Type: multipart/mixed; boundary="---_=_nextpart_001_01c539df.6607a632" 2005 2007 Antonio Carzaniga

MIME Multipart Messages Several functionalities of the MIME extensions depend on the ability to carry multiple parts within the same message e.g., to implement attachments Content-Type: multipart/mixed; boundary="---_=_nextpart_001_01c539df.6607a632" The message consists of a list of parts (e.g., the main message text and an attached document) 1. parts are separated by a boundary line 2. parts are introduced (right after the separator line) by a set of specific headers that define that part 3. the list is terminated by a terminator line 2005 2007 Antonio Carzaniga

MIME Multipart Messages Several functionalities of the MIME extensions depend on the ability to carry multiple parts within the same message e.g., to implement attachments Content-Type: multipart/mixed; boundary="---_=_nextpart_001_01c539df.6607a632" The message consists of a list of parts (e.g., the main message text and an attached document) 1. parts are separated by a boundary line 2. parts are introduced (right after the separator line) by a set of specific headers that define that part 3. the list is terminated by a terminator line This format is naturally recursive 2005 2007 Antonio Carzaniga

MIME Example MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="gj7ppttfjl" Content-Transfer-Encoding: 7bit Date: Fri, 15 Apr 2005 15:24:31 +0200 From: Antonio Carzaniga <antonio.carzaniga@usi.ch> To: Antonio Carzaniga <carzanig@cs.colorado.edu.ch> Subject: Immagini e testo -gj7ppttfjl Content-Type: text/plain; charset=iso-8859-15 Content-Description: message body text Content-Transfer-Encoding: quoted-printable questo =E8 un esempio di un messaggio che usa il formato MIME. -A -gj7ppttfjl Content-Type: image/png Content-Disposition: inline; filename="anto.png" Content-Transfer-Encoding: base64 ivborw0kggoaaaansuheugaaamgaaadicaiaaaaiojnjaaaacxbiwxmaaaixaaacmqf3bqbzaaaa B3RJTUUH1AwdCiYGBdI1HQAAIABJREFUeNqEu1mMJteVJnaWe2P5l/wz88+tcqusnRT3fRMpiqOW Wt0De9w9bczAGAM2jPHAfvOLDcNvfvODAW8YeOClDbeN7ullZnpa6kUttZqiKIoiWawiWaxibVlZ uvtu+a+x3hvo8uoq7ceaxsrtrcaixuldud928t/7l/6hodzazynu8kxnbqldbbab7xa71zxonzt5... Ts2sSh8efiVxP3z3GtgR5/9Wz/8DNJKaidrd/8MAAAAASUVORK5CYII= -gj7ppttfjl-