Articulos y Tips‎ > ‎

El Estandard MIME

Por Juan José Boronat Cortés <jboronat@ctv.es>

Nuestro programa de Correo electrónico seguramente lo usa, pero... ¿qué sabemos del estándar MIME?

¿Cómo conviene configurar nuestro software E-Mail para aprovechar sus características y que al mismo tiempo todo el mundo pueda leer nuestros mensajes?

MIME (Multipurpose Internet Mail Extensions) define la estructura de un mensaje E-Mail. Esto se consigue mediante determinados campos en formato ASCII que identifican el contenido de las diversas partes del mensaje. Estos campos normalmente completan la cabecera del mensaje, describiendo lo que éste contiene y su codificación. También pueden incluirse campos dentro del propio cuerpo del mensaje indicando el formato de cada bloque MIME.

El contenido MIME queda a la vista del destinatario como texto normal e incomprensible (una sucesión de caracteres sin significado) cuando su programa de correo no soporta este estándar, por lo cual es sencillo averiguar si nuestro software está anticuado. La mayoría de los programas de correo electrónico usados hoy en día tienen capacidades MIME.

Si analizamos una línea de un bloque MIME, podremos comprobar que al principio de la misma figura el nombre del campo, seguido de dos puntos y el valor del campo. Los campos MIME pueden incluir varias líneas.

Todo esto no es nuevo, ya que es el mismo sistema que utiliza el estándar RFC 822 habitual en el E-Mail.

Analicemos como ejemplo las propiedades de un mensaje cualquiera, producido por el programa Outlook Express versión 4.72.2106.4 (incluido con Internet Explorer 4.01) y que únicamente contiene texto sin formato. Para ello simplemente hacemos clic con el botón derecho del ratón sobre el mensaje en la Bandeja de entrada y seleccionamos Propiedades. Haciendo clic en la ficha Detalles podemos ver la sección MIME de la cabecera, que podría ser algo similar a esto:

MIME-Version: 1.0

Content-Type: text/plain;

charset="iso-8859-1"

Content-Transfer-Encoding: quoted-printable

X-Priority: 3

X-MSMail-Priority: Normal

X-Mailer: Microsoft Outlook Express 4.72.2106.4

X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4

 

Aprovechando el ejemplo, analizaremos los campos MIME posibles:

 

MIME-Version:

Estándar MIME según el cual se ha redactado el bloque de campos MIME. De momento sólo existe la versión 1.0.

 

Content-Type:

Nos da la identidad del elemento de mensaje que sigue, para decidir con qué tipo de software se visualizará. Los tipos más conocidos son: text, multipart, application, message, image,audio, video... Cada uno de los tipos incluye a su vez muchos subtipos, por ejemplo, el tipo text permite los subtipos: plain, richtext y html. Existen multitud de tipos y subtipos más, definidos libremente, que empiezan con el prefijo x-, por ejemplo application/x-zip-compressed, que hace referencia a un archivo comprimido en formato ZIP insertado en el mensaje. En el ejemplo podemos ver que se trata de un mensaje de tipo text/plain.

text: Es el tipo que se aplica a todo tipo de mensajes de texto.

plain: Es el subtipo que indica que se transmite el texto sin ningún tipo de formato. La combinación text/plain dispone de un parámetro opcional muy importante denominado charset, que se separa del resto de la línea por un punto y coma y que nos indica el juego de caracteres usado en el texto.

En nuestro caso tenemos charset="iso-8859-1".

iso-8859-1 es el identificador del juego de caracteres. El nombre alternativo para este juego de caracteres es LATIN1 o latin1. Este juego de caracteres cubre las necesidades de la mayoría de idiomas de Europa occidental, tales como: alemán, inglés, francés, italiano, holandés, portugués, español, danés, finlandés, noruego y sueco. Es decir, Alfabeto occidental o Western. Este juego de caracteres recibe total soporte bajo Windows.

 

Content-Transfer-Encoding:

Indica el tipo de codificación, especialmente, para la conversión de datos binarios a NVT-ASCII. Los valores de este campo más conocidos son: 7bit, 8bit, quoted-printable y base64.

7bit: Es el valor por defecto, usado aunque no haya ningún campo

Content-Transfer-Encoding.

Representa la codificación habitual en el formato ASCII de 7 bits (juego de caracteres US). Los caracteres con un código mayor que 127 no pueden ser transportados. Algunos programas de correo antiguos aún lo utilizan. 8bit: Codificación ASCII de 8 bits. No puede ser transportado en todos los tramos de Internet.

quoted-printable: Codificación para los elementos del mensaje que contienen mayoritariamente caracteres del juego de caracteres US ASCII de 7 bits. Los códigos más allá del 127 se expresan mediante un mecanismo especial. Por ello es el más adecuado para que nos entiendan en todos lados.

base64: Los datos binarios son convertidos a una secuencia que puede ser transportada en el marco de un mensaje de correo de Internet.

Content-ID:

Ofrece al remitente la posibilidad de dar una identificación unívoca a un elemento de mensaje MIME.

No aparece en el ejemplo.

 

Content-Description:

Permite la indicación de cualquier texto para describir el elemento de mensaje MIME, algo parecido a un comentario.

No aparece en el ejemplo.

 

Content-Disposition:

Señala si un elemento es un anexo (attachment) y ofrece nombres de archivo por defecto para el elemento.

No aparece en el ejemplo.

 

Identificadores X-:

Personalizados. Algunos de ellos prácticamente se han convertido en un estándar, como por ejemplo X-Mailer, que nos permite conocer el programa de correo utilizado.

Con lo que hemos aprendido nos será más fácil configurar nuestro programa de correo, de forma que podamos recibir y enviar mensajes utilizando todos los caracteres,tales como acentos y eñes, propios de nuestro idioma. Lo ideal es utilizar Texto sin formato, MIME con cifrado Quoted Printable y el juego de caracteres ISO-8859-1 (Latin1, Alfabeto occidental o Western).

Os apunto, a modo de ejemplo, la que según mi experiencia es la mejor configuración de correo para Outlook Express:

 

Seleccionar en el menú: Herramientas | Opciones.

Clic en la ficha Enviar.

Formato para el envío de correo:

Seleccionar Texto sin formato.

Clic en Configuración...

Formato de mensaje:

Seleccionar MIME.

Cifrar texto usando: Quoted Printable.

Activar Permitir caracteres de 8 bits en encabezados.

Clic en Aceptar.

Clic en la ficha Leer.

Clic en Fuentes...

Seleccionar Alfabeto occidental (o Western).

Fuente proporcional: Arial.

Fuente de ancho fijo: Courier New.

Tamaño de fuente: Pequeña.

Juego de caracteres predeterminado: Alfabeto occidental (o Western).

Clic en Aceptar.

Clic en Aceptar.