MIME Information
What is MIME?
How does Decoder fit into all of this?
What about MIME content types in my web browser?
-
MIME stands for Multipurpose Internet Mail Extensions. It is a way of expanding the capabilities of the currently existing e-mail infrastructure of the Internet.
A little background...
The history of MIME and uuencoding
In the beginning, e-mail was all there was. In the 1970’s, e-mail was the cutting edge of technology. During this time, e-mail consisted of only text messages. There was no need to send images, audio, and video through e-mail since there were very few, if any, machines that could even display such content. It wasn’t until the mid-1980’s that color graphics displays became common.
It was only a matter of time until someone wanted to send a picture over e-mail. The e-mail servers on the Internet, however, did not support sending attachments through e-mail. They were designed to handle the original 7-bit ASCII and EBCDIC character sets. Multimedia, like images, audio, video, and just about everything other than text files, consists of 8-bit characters.
The solution is to encode non-text files into a text representation. This way, the mail servers on the Internet send the messages with no problem. It doesn’t matter that messages converted this way are nothing but gibberish. All that matters is that they arrive at their destination intact so that the recipient can decode them.
One way to encode/decode attachments to e-mail messages is to use the uuencode/decode method. You can recognize a uuencoded message by looking for lines of text similar to this:
begin 644 EarthUU.jpg M_]C_X 02D9)1@ ! @$ 2 !( #_[7T04&AO=&]S:&]P(#,N, X0DE- ^T M ! 2 $ 0!( 0 !.$))30/S ( $X0DE-The uuencode method worked well for many years and continues to be very popular. But it does have limitations. First of all, you can only attach a single uuencoded file to an e-mail message. Also, there is no way to describe the content of the file other than with the file name and extension.
To alleviate these problems and bring e-mail back up to speed with the rapidly evolving Web, the Internet community developed the MIME standard. MIME, like uuencode, allows files to be attached to e-mail messages. MIME usually uses the base64 encoding method to convert binary, 8-bit data to 7-bit text data. A typical MIME file might look like:
Message-ID: <242139.2963250673@random-mac> From: info@etresoft.com Mime-Version: 1.0 Subject: Earth.jpg Content-Type: multipart/mixed; boundary="-" This is a MIME encoded message. Decode it with "Decoder" or any other MIME reading software. Decoder is available at <http://www.etresoft.com>. --- Content-Type: image/jpeg; name="EarthMIME.jpg" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="EarthMIME.jpg" Content-MD5: 8EJCtYG4bWHsj0c0PraXZw== /9j/4AAQSkZJRgABAgEASABIAAD/7X0QUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAA AAEAAQBIAAAAAQABOEJJTQPzAAAAAAAIAAAAAAAAAAE4QklNJxAAAAAAAAoAAQAAAAAAAAAC OEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAAB AFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQQAAAAAAAACAAA4QklNBAIAAAAAIn addition, MIME was designed to allow much more than just attaching files. It provides growing room for the Internet e-mail system. A partial list of the benefits provided by MIME is:
- Multiple attachments
- Content types
- Styled text with different fonts and colors
- Interactive multimedia
- Multi-language support for non-Roman languages like Japanese, Chinese, Arabic, Hebrew, etc...
MIME, however, still does not solve a major problem - one that has existed since uuencoding. Both the sender and the recipient of a MIME e-mail message must have mail programs that understand MIME and can display the MIME text correctly and/or extract any attached messages. Even today, this is not very common.
To make matters worse, MIME is not the only text encoding method available. UUencoding is still very popular and the BinHex method is widely used on the Macintosh. A typical BinHex message reads:
(This file must be converted with BinHex 4.0) :%d4PBfpNCA)Y-6-h,6Bi5bjcDA3!8dP84&0*9#%!N!-#!YB!N!53!2K6593K!!% !!J,@FNaKG3*6!*!$&T'*)#!*4'9MEf4PFL$%!*!@MpJ!N!-U!!B!d!&i!*!$"`#That is one of the nice things about standards - there are so many to choose from!
MIME is the future. Both uuencode and BinHex are becoming less and less popular every day. Eventually, every e-mail program will support MIME. When that day arrives, we will think nothing of attaching pictures, audio clips, or word processing documents to e-mail messages. We will use fonts, styles, and colors in our e-mail as freely as we do in word processing, desktop publishing, or presentation documents.
But we’re not there yet. We are still firmly in the painful transition stage. The few of us that are equipped to receive MIME message never get any. Others, get them all the time and can't do anything with them. Sound familiar?
-
How does Decoder fit into all of this?
In an attempt to make this transition a little easier we have developed a program, named Decoder, that can decode most types of MIME and uuencoded messages. MIME can be a very complex format. The current version of Decoder can extract binary files from e-mail messages that are encoded in either the base64 or uuencode format. It works great for Usenet messages too.
Decoder is shareware so you don’t have to buy it until you are satisfied that it will do the job for you and make your life easier.
If you are having problems reading your e-mail, we encourage you to try out Decoder. You have nothing to lose. If it works, great! If not, we’ll keep working on it until it does.
-
What about MIME content types in my web browser?
You may have noticed that MIME and MIME content types are used in more than just e-mail programs. Part of the MIME standard is a definition of common content types. These content types are just descriptions of data.
On Unix, DOS, and Windows machines, the file extension is usually used to indicate what kind of data is inside a particular file. In the uuencode and base64 examples above, the extension of each file was ".jpg". This indicates that these files are JPEG image files (the most popular type of image file).
The Macintosh also has a way to indicate the data type of a given file. Unlike Unix, DOS, and Windows, the Macintosh file type and creator codes are usually hidden from the end user. Usually, this makes opening documents on a Macintosh easier than on other systems. However, when a Macintosh downloads file from the Internet, it has to guess about the type and creator codes. It doesn’t always guess correctly.
The MIME content types are a cross-platform way to identify data files. MIME content types can be mapped to Unix, DOS, and Windows file extensions and to Macintosh type and creator codes.
MIME content types are used extensively on the web to describe data files. Most files are just HTML files and will have a content type that reads "text/html". But there are many other possibilities. Every web browser has a way to associate content types with applications so that when you download a file, the browser can launch the correct application to view the data. These are the same content types as in MIME e-mail messages, but they have nothing to do with e-mail. Usually, these content types are only important to a web server on the Internet and your browser.
We hope this page has provided some insight into your MIME/e-mail problems. Please let us know if you have more questions so that we can provide more and better information.