Connected: An Internet Encyclopedia
MIME Protocol Overview

Up: Connected: An Internet Encyclopedia
Up: Topics
Up: Functions
Up: Mail
Up: Mail Format
Prev: Mail Format
Next: PGP Protocol Overview

MIME Protocol Overview

MIME Protocol Overview Multipurpose Internet Mail Extensions (MIME), documented in RFC 1521 and RFC 1522, defines the standard representation for "complex" message bodies. A "complex" message body doesn't conform to the default of a single, human-readable, ASCII mail message. Examples of "complex" message bodies include messages with embedded graphics or audio clips, messages with file attachments, messages in Japanese or Russian, or signed messages.

MIME defines several new header field - Mime-Version (identifying a MIME document), Content-Type, Content-Transfer-Encoding. The most interesting of these is Content-Type, which defines the content of the document, and comes in seven pre-defined types, each of which have subtypes. An extension mechanism exists for defining new types and subtypes. The Content-Transfer-Encoding defines several encoding mechanisms for binary data that may otherwise be difficult to transport.

Summary of MIME Content-types

This is a copy of Appendix F, RFC 1521.

Content-type: text
Subtypes defined by this document: plain
Important Parameters: charset
Encoding notes: quoted-printable generally preferred if an encoding is needed and the character set is mostly an ASCII superset.
Security considerations: Rich text formats such as TeX and Troff often contain mechanisms for executing arbitrary commands or file system operations, and should not be used automatically unless these security problems have been addressed. Even plain text may contain control characters that can be used to exploit the capabilities of "intelligent" terminals and cause security violations. User interfaces designed to run on such terminals should be aware of and try to prevent such problems.
Content-type: multipart
Subtypes defined by this document: mixed, alternative, digest, parallel.
Important Parameters: boundary
Encoding notes: No content-transfer-encoding is permitted.
Content-type: message
Subtypes defined by this document: rfc822, partial, external-body
Important Parameters: id, number, total, access-type, expiration, size, permission, name, site, directory, mode, server, subject
Encoding notes: No content-transfer-encoding is permitted. Specifically, only "7bit" is permitted for "message/partial" or "message/external-body", and only "7bit", "8bit", or "binary" are permitted for other subtypes of "message".
Content-type: application
Subtypes defined by this document: octet-stream, postscript
Important Parameters: type, padding
Deprecated Parameters: name and conversions were defined in RFC 1341.
Encoding notes: base64 preferred for unreadable subtypes.
Security considerations: This type is intended for the transmission of data to be interpreted by locally-installed programs. If used, for example, to transmit executable binary programs or programs in general-purpose interpreted languages, such as LISP programs or shell scripts, severe security problems could result. Authors of mail-reading agents are cautioned against giving their systems the power to execute mail-based application data without carefully considering the security implications. While it is certainly possible to define safe application formats and even safe interpreters for unsafe formats, each interpreter should be evaluated separately for possible security problems.
Content-type: image
Subtypes defined by this document: jpeg, gif
Important Parameters: none
Encoding notes: base64 generally preferred
Content-type: audio
Subtypes defined by this document: basic
Important Parameters: none
Encoding notes: base64 generally preferred
Content-type: video
Subtypes defined by this document: mpeg
Important Parameters: none
Encoding notes: base64 generally preferred


Next: PGP Protocol Overview

Connected: An Internet Encyclopedia
MIME Protocol Overview