MIME (Extensiones Multipropósito de Correo Internet) es un estándar propuesto en 1991 por Bell Communications para expandir las capacidades limitadas del correo electrónico y en particular para permitir la inserción de documentos (como imágenes, sonido y texto) en un mensaje. Fue definido originalmente en junio de 1992 por las RFC 1341 y 1342.
MIME describe el tipo de contenido del mensaje y el tipo de código usado con encabezados.
MIME incorpora las siguientes características al servicio de correo electrónico:
MIME usa directivas especiales en los encabezados para describir el formato utilizado en el cuerpo de un mensaje, de modo que el cliente de correo electrónico pueda interpretarlo correctamente:
Los tipos de MIME, usados en el encabezado Tipo de contenido, se usan para clasificar los documentos adjuntos de un correo electrónico. Un tipo de MIME está compuesto de la siguiente manera:
Tipo de contenido: tipo_mime_principal/subtipo_mimePor ejemplo, una imagen GIF tiene el siguiente tipo de MIME:
Tipo de contenido: image/gif
Los tipos de datos primarios, a veces denominados "tipos de datos discretos", son:
Los tipos de MIME también se usan en la web para clasificar documentos transferidos usando el protocolo HTTP. Así, durante una transacción entre un servidor web y un explorador, lo primero que hace el servidor web es enviar el tipo de MIME del archivo al explorador, para que éste sepa cómo mostrar el documento.
Para transferir datos binarios, MIME ofrece cinco formatos de codificación que se pueden usar en el encabezado codificación de transferencia:
Dado que MIME es muy abierto, puede usar formatos de codificación de terceros como:
El encabezado codificación de transferencia se usa para especificar un formato de codificación para el cuerpo del mensaje, pero no soluciona el problema de codificación de los encabezados en sí (como el tema del mensaje).
Para codificar encabezados con conjuntos de caracteres que usan más de 7 bits, como los que incluyen letras acentuadas en el asunto del correo electrónico, el estándar MIME ofrece el siguiente formato:
=?juego de caracteres?codificación?resultado?=
Asunto: Building fa=?ISO-8859-1?Q?=E7ade?=
Con el tipo de MIME "de varias partes", el estándar MIME permite mensajes compuestos, es decir mensajes que incluyen adjuntos múltiples, que incluso se pueden jerarquizar.
Para hacerlo, MIME permite un estándar llamado frontera. Es una cadena arbitraria definida como un atributo en el encabezado Tipo de contenido:
Tipo de contenido: multipart/mixed;Cada separador delimita una porción de contenido que comienza con los encabezados Tipo de contenido y Codificación de contenido. Es esencial que el valor de este separador no se encuentre dentro del contenido del mensaje.
boundary="------------020005090303070203010601"
Existen varios tipos de separadores:
Los tipos de MIME están estandarizados por un grupo llamado IANA (Autoridad de asignación de números de Internet). A continuación encontrará una lista no taxativa de los tipos de MIME más comunes:
| Tipo de MIME | Tipo de archivo | Extensión asociada |
|---|---|---|
| application/atom+xml | Archivos en formato ATOM | atom |
| application/iges | Archivos CAS | iges |
| application/javascript | Archivos JavaScript | js |
| application/dxf | Archivos AutoCAD | dxf |
| application/mp4 | Archivos MPEG4 | mp4 |
| application/iges | Formato de intercambio IGES CAD | igs, iges |
| application/octet-stream | Archivos binarios no interpretados | bin |
| application/msword | Archivos de documentos Microsoft Word | doc |
| application/pdf | Archivos Adobe Acrobat | |
| application/postscript | Archivos PostScript | ai, eps, ps |
| application/rtf | Formato de texto enriquecido | rtf |
| application/sgml | Archivos SGML | sgml |
| application/vnd.ms-excel | Archivos de hojas de cálculo Microsoft Excel | xls |
| application/vnd.ms-powerpoint | Archivos de presentación Microsoft Powerpoint | ppt |
| application/xml | Archivo XML | xml |
| application/x-tar | Archivos TAR comprimidos | tar |
| application/zip | Archivos ZIP comprimidos | man |
| audio/basic | Archivos de audio básicos | au, snd |
| audio/mpeg | Archivo de audio MPEG | mpg,mp3 |
| audio/mp4 | Archivo de audio MPEG-4 | mp4 |
| audio/x-aiff | Archivos de audio AIFF | aif, aiff, aifc |
| audio/x-wav | Archivos de audio Wav | wav |
| image/gif | Imágenes Gif | man |
| image/jpeg | ?Imágenes Jpeg | jpg, jpeg, jpe |
| imagen/png | Imágenes PNG | png |
| image/tiff | ?Imágenes Tiff | tiff, tif |
| image/x-portable-bitmap | Archivos Bitmap PBM | pbm |
| image/x-portable-graymap | Archivos Graymap PBM | pgm |
| image/x-portable-pixmap | Archivos Pixmap PBM | ppm |
| multipart/x-zip | Archivos comprimidos en Zip | zip |
| multipart/x-gzip | Archivos comprimidos en Zip GNU | gz, gzip |
| text/css | Hoja de estilo | css |
| text/csv | Archivos de texto separados por comas | csv |
| text/html | Archivos HTML | htm, html |
| text/plain | Archivos de texto sin formato | txt, g, h, c, cc, hh, m, f90 |
| text/richtext | Archivos de texto enriquecido | rtx |
| text/rtf | Archivos de texto con formato enriquecido | rtf |
| text/tab-separated-value | Archivos de texto separados por tabulador | tsv |
| text/xml | Archivos XML | xml |
| video/h264 | Vídeos H.264 | h264 |
| video/dv | Vídeos DV | dv |
| video/mpeg | Vídeos MPEG | mpeg, mpg, mpe |
| video/quicktime | Vídeos QuickTime | qt, mov |
| video/msvideo | Vídeos Microsoft Windows | avi |