by Dinesh Thakur Category: Services and Applications

MIME stands for (Multipurpose Internet Mail Extensions). It is widely used internet standard for coding binary files to send them as e-mail attachments over the internet. MIME allows an E-mail message to contain a non-ASCII file such as a video image or a sound and it provides a mechanism to transfer a non text characters to text characters.

• MIME was invented to overcome the following limitations of SMTP:


1. SMTP cannot transfer executable files and binary objects.

2. SMTP cannot transmit text data of other language, e.g. French, Japanese, Chinese etc, as these are represented in 8-bit codes.

3. SMTP services may reject mails having size greater than a certain size.

4. SMTP cannot handle non-textual data such as pictures, images, and video/audio content.

             Multipurpose Internet Mail Extensions

• The MIME specification includes the following elements:

1. Message header fields. Five message header fields are defined. These fields provide information about the body of the message.

2. Content formats. A number of content formats are defined, thus standardizing representations that support multimedia electronic mail.

3. Transfer encoding. Transfer encoding are defined that enable the conversion of any content format into a form that is protected from alteration by the mail system.

Traditional e-mail sent over the Internet using Simple Mail Transfer Protocol (SMTP) as specified by Request for Comments (RFC) 822 defines messages as consisting of a header and a body part, both of which are encoded using 7-bit ASCII text encoding. The header of an SMTP message consists of a series of field/value pairs that are structured so that the message can be delivered to its intended recipient. The body is unstructured text and contains the actual message.

Multipurpose Internet Mail Extensions (MIME) five additional extensions to SMTP message .ers, supports multipart messages with more two parts, and allows the encoding of 8-bit binary data such as image files so that they can be using SMTP. The encoding method for translation binary information used by MIME, Base64 Encoding, essentially provides a mechanism for translating non text information into text characters. The MIME extensions are implemented as fields in the e-mail message header.

These fields are the following: Content type, Content transfer encoding method, MME version number Content ID (optional), Content description (optional).

MIME Header


The five header fields defined in MIME are as follows:

1. MIME-version. It indicates the MIME version being used. The current version is 1.1. It is represented as : MIME-version: 1.1.

2. Content-type. It describes the type and subtype of the data in the body of the message. The content type and content subtype are separated by slash. This field describes how the object in the body is to be interpreted. The default value is plaintext in US ASCII. Content type field is represented as:

Context-type: <type/subtype; parameters>

There are seven different types and fourteen sub-types of content. The various content type are listed in the table below:

                       Context type

3. Content-transfer encoding. It describes how the object within the body has been encoded to US ASCII to make it acceptable for mail transfer. Thus it specifies the method used to encode the message into 0s and 1s for transport. The content transfer encoding field is represented as :


Content-transfer-encoding : <type>


The various encoding methods used are given in the table below:


4. Content-Id. It is used to uniquely identify the MIME entities in multiple contexts i.e. it uniquely identifies the whole message in a multiple message environment. This field is represented as:

Content-id : id = <content-id>

5. Content-description. It is a plaintext description of the object within the body; It specifies whether the body is image, audio or video. This field is represented as:

Content-description: <description>


The various fields in the MIME header are

                   MIME header

If you liked this article, you can also catch us on facebook and Google+

Related Articles (You May Also Like)

About Dinesh Thakur

Dinesh ThakurDinesh Thakur holds an B.SC (Computer Science), MCSE, MCDBA, CCNA, CCNP, A+, SCJP certifications. Dinesh authors the hugely popular blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps. For any type of query or something that you think is missing, please feel free to Contact us.

Search Content