Multipurpose Internet Mail Extensions (MIME, extensiones de correo de Internet multipropósito) es un estándar de comunicaciones que permite la transferencia de formatos distintos de ASCII mediante protocolos (como SMTP) que sólo admiten caracteres ASCII de 7 bits.
Ejemplos de formatos distintos de ASCII:
MIME define diversas formas de codificar los formatos no ASCII para que puedan representarse utilizando caracteres del conjunto de caracteres ASCII de 7 bits.
MIME también define los encabezados de correo electrónico adicionales que contienen información sobre lo siguiente:
El mensaje MIME resultante puede ser "descodificado" o "recodificado" después de la transmisión. Elegimos el término "recodificado" porque los mensajes MIME pueden convertirse a un conjunto de caracteres distinto del utilizado en el mensaje original.
En las siguientes secciones se describen algunos de los conceptos clave de los mensajes MIME.
MIME es compatible con encabezados de correo electrónico adicionales que contengan información sobre el mensaje MIME. Por ejemplo, los encabezados ofrecen información sobre el contenido del archivo, el método de cifrado utilizado y el número de versión de MIME.
Un encabezado MIME puede incluir información sobre el tipo de contenido de un mensaje MIME. Por ejemplo, el encabezado podría especificar que el archivo contiene text/plain, donde "text" (texto) sería el tipo y "plain" (simple) sería el subtipo. La combinación de ambos se conoce como tipo MIME o tipo de soporte de Internet.
Un mensaje MIME puede contener más de un tipo MIME. Por ejemplo, un mensaje MIME de varias partes podría tener tanto texto simple (tipo text/plain) como texto HTML (tipo text/HTML).
El encabezado Content-Type indica que el mensaje MIME contiene más de un tipo MIME. También utiliza el parámetro boundary para indicar la cadena de texto que se usará para marcar el inicio y el final de cada parte del cuerpo. Por ejemplo: Content-Type: multipart/mixed; boundary=gc0y0pkb9ex
Cada parte del cuerpo tendrá su propio tipo de datos. Por ejemplo, una parte del cuerpo de texto simple podría definirse como Content-type: text/plain; charset=us-asciib>
Si el contenido en el cuerpo de un mensaje MIME es demasiado grande para pasar a través del sistema de transferencia de correo, el cuerpo podrá pasar como un número de mensajes MIME más pequeños. Estos mensajes se conocen como "mensajes MIME parciales", ya que cada mensaje MIME sólo contiene un fragmento del mensaje total que necesita ser transmitido.
Cada mensaje MIME parcial tiene:
En lugar de contener datos en el cuerpo de un mensaje MIME, éste puede incluir una referencia al contenido.
El cuerpo o parte del cuerpo del mensaje MIME tiene un tipo de contenido Message/External-Body.