|
<< Click to Display Table of Contents >> What is MIME |
![]() ![]()
|
MIME (Multi-purpose Internet Mail Extensions) is an extension of the original Internet e-mail protocol that specifies how messages must be formatted so that they can be exchanged between different email systems. This standardization allows people exchange different kinds of data files on the Internet: audio, video, images, application programs, etc., as well as the ASCII text handled in the original protocol, the Simple Mail Transfer Protocol(SMTP). All manually composed and automated emails are transmitted through SMTP in MIME format. The association of Internet email with SMTP and MIME standards is such that the emails are sometimes referred to as SMTP/MIME email.
In 1991, Nathan Borenstein of Bellcore proposed to the Internet Engineering Task Force (IETF) that SMTP be extended so that Internet, but mainly Web, clients and servers could recognize and handle other kinds of data than ASCII text. As a result, new file types were added to "mail" as a supported Internet Protocol file type. This meant that email was no longer limited to a single ASCII-character text attachment per email message. MIME is extensible because it defines a method to register new content types. New MIME data types are registered with the Internet Assigned Numbers Authority (IANA).
Servers insert the MIME header at the beginning of any Web transmission. Clients use this header to select and appropriate "player" application for the type of data the header indicates. Some of these players are built into the Web client or browser (for example, all browsers come with GIF and JPEG image players as well as the ability to handle HTML files); other players may need to be downloaded. The MIME header describes the data contained in the message so that it can be represented correctly by the recipient:
MIME Version: The presence of MIME Version generally indicates whether the message is MIME formatted. The value of the header is 1.0 and it is shown as MIME-Version: 1.0. The idea behind this was to create more advanced versions of MIME like 2.0 and so on, but this has had the opposite outcome. A way of handling a future MIME version was never adequately specified.
Content-Type: This describes the data’s Internet media type and its subtype. It may consist of a ‘charset’ parameter separated by a semicolon specifying the character set to be used. For example: Content-Type: Text/Plain.
Content-Transfer-Encoding: It specifies the encoding used in the message body (originally limited to the ASCII character set). This header indicates whether a binary-to-text encoding scheme has been used on top of the original encoding as specified within the Content-Type header and which one or, if no encoding scheme was used, a descriptive label for the format of the content.
Content-Description: Provides additional information about the content of the message.
Content-Disposition: Specifies the presentation style, the name of the file (if any), and creation and modification dates. which can be used by the reader's mail client to store the attachment. For example: Content-Disposition: attachment; filename=genome.jpeg; modification-date="Wed, 12 Feb 1997 16:29:51 -0500";. Originally, MIME specifications only described the structure of mail messages without addressing presentation styles.
The following is an example of a MIME message as it would arrive in your inbox:
From: Jerry Peek <jpeek@jpeek.com>
To: carlos@entelfam.cl
Subject: Un =?iso-8859-1?Q?d=EDa_dif=EDcil?=
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
[...message content goes here...]