MIME (Extensiones Multipropósito de Correo de Internet)
Qué es MIME
MIME (Multipurpose Internet Mail Extensions, Extensiones Multipropósito de Correo de 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. Incorpora diversas características al servicio de correo electrónico, como capacidad de enviar múltiples adjuntos en un solo mensaje; longitud ilimitada del mensaje; uso de conjuntos de caracteres no pertenecientes al código ASCII; uso de texto enriquecido (diseños, fuentes, colores, etc.); adjuntos binarios (ejecutables, imágenes, archivos de audio o vídeo, etc.), que se pueden dividir de ser necesario.
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: Versión de MIME, es la versión de MIME estándar usada en el mensaje. Actualmente solo existe la versión 1.0; Tipo de contenido, describe el tipo y el subtipo de datos. Puede incluir un parámetro de "juego de caracteres", separado por un punto y coma, que define qué juego de caracteres utilizar; Codificación de transferencia de contenido, define la codificación usada en el cuerpo del mensaje; Identificación de contenido, representa una identificación única para cada segmento del mensaje; Descripción de contenido, proporciona información adicional sobre el contenido del mensaje;
Disposición de contenido, define la configuración de los adjuntos, particularmente el nombre vinculado al archivo, usando el atributo nombre del archivo.
Tipos de MIME primarios
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_mime
Por 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 siguientes:
texto: datos textuales legibles
text/rfc822 [RFC822]; text/plain [RFC2646]; text/html [RFC2854]
];
imagen: datos binarios que representan imágenes digitales
image/jpeg; image/gif; image/png
;
audio: datos de sonido digital
audio/basic; audio/wav
;
vídeo: datos de vídeo
video/mpeg
;
aplicación, otros datos binarios
application/octet-stream; application/pdf
.
Los tipos de MIME también se usan en la web para clasificar documentos transferidos usando el protocolo HTTP. Así, en una transacción entre un servidor web y un navegador, lo primero que hace el servidor web es enviar el tipo de MIME del archivo al navegador, para que este sepa cómo mostrar el documento.
Formatos de codificación
Para transferir datos binarios, MIME ofrece cinco formatos de codificación que se pueden usar en el encabezado Codificación de transferencia: 7 bits, formato de texto de 7 bits (para mensajes sin caracteres acentuados);
8 bits, formato de texto de 8 bits; formato QP, recomendado para mensajes que usan un alfabeto de 7 bits (como cuando hay acentos); base 64, recomendado para enviar archivos binarios como adjuntos; binario, formato binario (no recomendado).
Dado que MIME es muy abierto, puede usar formatos de codificación de terceros como BinHex (un formato exclusivo que pertenece a Apple), uuencode o xxencode.
Codificación del encabezado
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?=
juego de caracteres representa el carácter usado; Codificación define el código deseado con dos valores posibles: Q para quoted-printable y B para base 64. El resultado es un texto codificado según el método especificado.
A continuación un ejemplo de un código QP con "Building façade" como asunto del mensaje:
Asunto: Building fa=?ISO-8859-1?Q?=E7ade?=
Mensajes compuestos
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;
boundary="------------020005090303070203010601"
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.
Existen varios tipos de separadores, por ejemplo multipart/mixed, que define una serie de elementos múltiples; multipart/alternative, que define alternativas para la misma información, como un mensaje en formato de texto o HTML. Si el cliente de correo electrónico puede mostrar mensajes con una disposición y está configurado para hacerlo, mostrará la versión HTML (de lo contrario, mostrará la versión de texto); multipart/parallel, que define datos presentes al mismo tiempo (como sonido e imagen); multipart/signed, que define una firma digital para los datos del mensaje; y multipart/related, que define los datos relacionados.
Lista de tipos de MIME
Los tipos de MIME están estandarizados por un grupo llamado IANA (Internet Assigned Numbers Authority, Autoridad de asignación de números de Internet). A continuación encontrarás una lista no exhaustiva 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 |
- Protocolo mime
- Protocolo ip - Guide
- Protocolo set - Guide
- Protocolo icmp - Fichas prácticas - Internet (protocolos)
- Protocolo arp - Guide
- Protocolo imap sincronización incorrecta - Foro de Virus / Seguridad