Multipurpose Internet Mail Extensions
Multipurpose Internet Mail Extensions
MIME: – Short for Multipurpose Internet Mail Extensions, a specification for formatting non-ASCII messages so that they can be sent over the Internet. Many e-mail clients now support MIME, which enables them to send and receive Non-ASCII messages like graphics, audio, and video files via the Internet mail system. In addition, MIME supports messages in character sets other than ASCII. It is a method to send content other than ASCII text via email. Arbitrary data is encoded as ASCII text for MIME.
In addition to e-mail applications, Web browsers also support various MIME types. This enables the browser to display or output files that are not in HTML format. With the help of MIME, you can swap files containing attachments automatically. MIME was defined in 1992 by the Internet Engineering Task Force (IETF). A new version, called S/MIME, supports encrypted messages.
Electronic mail has a simple structure. It can send messages only in 7-bit ASCII format. In other words, it has some limitations. Multipurpose Internet Mail Extensions (MIME) is a supplementary protocol that allows non-ASCII data to be sent through e-mail. MIME transforms non-ASCII data at the sender site to ASCII data and delivers it to the client MTA to be sent through the Internet. The message at the receiving site is transformed back to the original data.
Below figure shows how sender sends non-ASCII data to recipients. It uses MIME to perform encoding at sender side and decoding at receiver side to send non-ASCII data.
In order to send files (like pictures, text processor documents or programs), one has to convert them to plaintext first and then send the result of the conversion in the body of an email message. The recipient has to extract the text from the message and convert it to the binary file format again. This is a cumbersome process, and before MIME it all had to be done by hand. MIME corrects this problem and it makes it possible to use international characters in email messages.
MIME lets you send multiple pieces of different data in one message (say, a picture and a Word document), and it tells the recipient’s email client what format the data is in so they can make smart choices displaying the message.
When you get a picture, you do no longer have to figure out that it can be viewed with an image viewer. Your email client either displays the image itself or starts a program on your computer that can.
MIME is basically used to convert non-ASCII data into ASCII data at sender side and ASCII data to non-ASCII data back again at receiver side. This means that all email data must still be encoded in plaintext before the message is sent, and it must be decoded to its original format on the receiving end again. The early email users had to do that manually. MIME does it for us automatically and comfortably.
When you compose a message in an email program capable of MIME, the program does roughly the following:
· If the message is in plain ASCII text only, it leaves it alone and only tells the recipient’s email client to expect nothing but plaintext.
· If the message contains one or more attachments and a body with HTML formatting, each part is looked at and treated separately.
First, the format of the data is determined. This is necessary to tell the recipient’s email client what to do with the data, and to ensure proper encoding so nothing is lost during transfer.
Then the data is encoded if it is in a format other than plain ASCII text. In the encoding process, the data is converted to the plaintext suitable for transferring messages.
Finally, the encoded data is inserted in the message, and the recipient’s email client is informed what kinds of data to expect: Are there attachments? How are they encoded? What format was the original file in?
On the recipient’s end, the process is reversed. First, the email client reads the information that was added by the sender’s email client: Do I have to look for attachments? How do I decode them? How do I handle the resulting files? Then, each part of the message is extracted and decoded if necessary. Finally, the email client displays the resulting parts to the user. The plaintext body is shown in line in the email client together with the image attachment. The program also attached to the message is displayed with an attachment icon, and the user can decide what to do with it. She can save it somewhere on her disk, or start it directly from the email program.