MIME, also known as, Multipurpose Internet Mail Extensions, helps the e-mail protocols to permit the users to transfer any kind of image, sound, and program as attachment in email across the World Wide Web. It is because of MIME only that you can send your audios, videos and software programs to other users through email attachments as it is the format of non-text email attachments.

MIME was introduced to extend the current SMTP, or Simple Mail Transport Protocol, in order to send data other than ASCII characters through various web clients and web servers. It, now, provides the following extensions to the current email –

  1. Non-text attachments such as images, videos, audios and other multi-media messages.
  2. Ability to send multiple objects within a single message.
  3. Character sets other than US-ASCII
  4. Writing header information in non-ASCII character sets
  5. Text with unlimited length

Most of us use MIME is one way or another but we hardly recognize this term. As of today, almost every email is transmitted in MIME format through Simple Mail Transport Protocol. HTTP (Hypertext Transfer Protocol) and other communication protocols also benefit from the content types defined by MIME.

Now, let’s examine the need of MIME a little bit more. SMTP, e-mail transmission protocol, only supports 7-bit ASCII characters. This, in turn, limits the email to messages which include the characters suitable for writing English and other small number of languages, when transferred. As a result of this limit, languages based on other alphabets which don’t support 7-bit ASCII characters can’t be correctly presented in a basic email. As we earlier discussed that MIME extends the basic email to support character sets other than 7-bit ASCII, so, this helps in writing email in different languages.

Moreover, MIME also helps in sending other kind of information which was not possible earlier. For example, images, sounds videos and software programs. It is also an underlying component of various communication protocols such as HTTP.

The next thing one should is the Header. It is of great importance as it allows identifying the true nature of the file that is being used in the transmission. And how does this happen? The client who receives the transmission read the header and then according to that header, it selects the protocol to allow the data to be received by the receiver.

Base64 encoding is the term with which everyone should be familiar with. In order to ensure that non-text attachments like images will be transferred with maximum protection, MIME encodes the non-text information into text with an encoding method used as Base64.

As new MIMEs are created every day, so it has become important to register them with Internet Assigned Numbers Authority before releasing it for the usage across the internet.