When the MIME standard was defined, it was carefully designed so that MIME data would not break older mail software. How was this done?


Problem Solution
Old mail software could not handle any other data than 7-bit US-ASCII characters The QUOTED-PRINTABLE and BASE64 encodings will convert any data to 7-bit characters
Certain characters often get corrupted in transport BASE64 was carefully chosen so as to avoid these characters
Some mailers cannot handle lines longer than 80 characters and SMTP did not allow longer lines than 1000 characters BASE64 never uses long lines, QUOTED PRINTABLE has a special encoding for "soft line breaks" which can be used to make the lines shorter than 80 characters in the encoding.

Note: Many students answered with description of the MIME-Version header field. But that field does not solve this problem, since the older mailers do not understand this header field, they do not know what MIME is, since they were written before MIME existed.This answer shows a fundamental misunderstanding of the problem in the question, which was how old software, defined before MIME was known, would treat MIME messages.

However, there are certain smart e-mail routers, which know, for each user, the capabilities of the client used by that user, and which will convert MIME messages to a format which the client can handle. With this method, the MIME header fields can help to avoid breaking older mail software, but this works only because some of the software (the mail routers) does understand MIME.

List of exam questions