MIME Capabilities

Multipurpose Internet Mail Extensions (MIME) defines a message format that allows for:

  • Textual message bodies in character sets other than US-ASCII.

  • Non-textual message bodies.

  • Multipart message bodies.

  • Textual header information in character sets other than US-ASCII.

MIME provides a mechanism for sending a variety of file types as a part of or along with regular mail messages. It uses the headers defined by RFC 822 and extensions to those header definitions. MIME does all this while following all the standard SMTP and RFC 822 mail rules. MIME messages can be constructed to transport mail over any mail transport system that is compliant with SMTP. MIME is able to transmit objects with varying degrees of complexity in a way that allows any MIME-compliant user agent (UA) to faithfully process them and hand them off to an appropriate application.

To simplify and rebuild a complex file, MIME encodes the file (see Content-Transfer-Encoding) and transports it as a message body, or as a series of messages with component parts of the file. On the receiving end, a MIME-compliant user agent (UA) decodes the message and presents it to the reader, or passes it as a file to another application. A UA that is not MIME-compliant can process a MIME-encoded e-mail message, but might not be able to decode the message.

MIME allows for multipart mail messages, ensuring that even the UA with the most limited capabilities can process the message. The multiple parts are arranged so that the parts requiring the least sophisticated UA are at the beginning of the message. Most MIME UAs include courtesy text to give users of non-MIME UAs an indication of the message content. This text is inserted ahead of any MIME parts.