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 pdf
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
Haz una pregunta
Nuestros contenidos son redactados en colaboración con expertos del ámbito tecnológico bajo la dirección de Jean-François Pillou, fundador de CCM.net. CCM es un sitio de tecnología líder a nivel internacional y está disponible en 11 idiomas.
El documento « MIME (Extensiones Multipropósito de Correo de Internet) » se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.