MIME (Extensiones Multipropósito de Correo Internet)

Mayo 2017

Introducción a MIME

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:

  • 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 video, 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: esta es la versión de MIME estándar usada en el mensaje. Actualmente sólo 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:

  • texto: texto de datos legible 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
  • video: 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í, 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.

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;
  • QP: formato QP, recomendado para mensajes que usan un alfabeto de 7 bits (como cuando hay acentos);
  • base 64: 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,
  • 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
    • B para base 64
  • resultado: texto codificado con el método especificado.
A continuación hay un ejemplo de un código QP con "Building façade" como asunto del correo electrónico.
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:

  • multipart/mixed define una serie de elementos múltiples
  • multipart/alternative 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 define datos presentes al mismo tiempo (como sonido e imagen).
  • multipart/signed define una firma digital para los datos del mensaje
  • multipart/related define los datos relacionados

Lista de tipos de MIME

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 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

Más información

  • Lista oficial de tipos de MIME (IANA - Autoridad de asignación de números de Internet)
  • RFC principales:
    • RFC 2045: MIME Part One: Format of Internet Message Bodies
    • RFC 2046: MIME Part Two: Media Types
    • RFC 2047: MIME Part Three: Message Header Extensions for Non-ASCII Text
    • RFC 2048: MIME Part Four: Registration Procedures
    • RFC 2049: MIME Part Five: Conformance Criteria and Examples
  • RFC secundarios:
    • RFC 1524: The formal description of mailcap files. Mailcap files describe how to handle media types.
    • RFC 2015: MIME Security with Pretty Good Privacy (PGP).
    • RFC 2110: MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML).
    • RFC 2111: Content-ID and Message-ID Uniform Resource Locators.
    • RFC 2112: The MIME Multipart/Related Content-type.
    • RFC 2183: Defines the syntax and sematics of the "Content-Disposition" header to convey presentational information.
    • RFC 2184: MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations

Consulta también


MIME (Multipurpose Internet Mail Extensions)
MIME (Multipurpose Internet Mail Extensions)
MIME Standard (Multipurpose Internet Mail Extensions)
MIME Standard (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Padrão MIME (Multipurpose Internet Mail Extensions)
Padrão MIME (Multipurpose Internet Mail Extensions)
Última actualización: 16 de octubre de 2008 a las 15:43 por Jeff.
El documento «MIME (Extensiones Multipropósito de Correo 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.