Protocolo de Extensiones de Correo de Internet Multipropósito

Entendiendo las cabeceras MIME

Las cabeceras MIME contienen información sobre el protocolo.

MIME-Version

Esto indica que el mensaje está formateado como MIME. Aparece como:

MIME-Version: 1.0

Tipo de contenido

Esto indica el tipo de contenido del mensaje, dado como un par tipo/subtipo: text/plain, text/html, por ejemplo. El tipo de contenido multipart puede contener texto, HTML, adjuntos, imágenes, audio, video, etc.

Content-Type: multipart

Codificación de transferencia de contenido

Indica si se utiliza un esquema de codificación binario-a-texto encima de la codificación especificada por content-type. Si lo tiene, indica cuál. Podemos especificar aquí tipos de codificación 7-bit, 8-bit y binary.

Palabra codificada

Las cabeceras de los mensajes SMTP normalmente usan caracteres ASCII. Los caracteres no ASCII deben usar la sintaxis de palabra codificada MIME en lugar de una cadena literal. El formato es:

"=? charset ? encoding ? texto codificado ?=".

Mensajes multipart

Un mensaje MIME multipart contiene un delimitador en la cabecera content-type. Este delimitador, que no debe aparecer en ninguna de las partes, se coloca entre las partes, y al inicio y al final del cuerpo del mensaje, como sigue:

MIME-versión: 1.0


 Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.

--frontier

Content-type: text/plain

This is the body of the message.

--frontier

Content-type: application/octet-stream

Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg

Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==

--frontier--

Cada parte consta de su propia cabecera de contenido y un cuerpo.

Subtipos multipart

El estándar MIME define varios subtipos de mensajes multipartes. El subtipo se especifica en la cabecera "Content-Type" del mensaje global.

A continuación se muestra una lista de los subtipos más usados.

  • Mixed: Multipart/mixed se usa para enviar archivos con diferentes cabeceras "Content-Type" en línea. Al enviar imágenes u otros archivos fácilmente legibles, la mayoría de los clientes de correo los mostrará en línea.
  • Message: Una parte de mensaje contiene un correo electrónico.
  • Digest: digest es una forma sencilla de enviar múltiples mensajes de texto. El tipo de contenido predeterminado para cada parte es "message/rfc822".
  • Alternative: El subtipo alternative indica que cada parte es una versión "alternativa" del mismo (o similar) contenido, cada una en un formato diferente señalado por su cabecera "Content-Type".

Comúnmente, multipart/alternative se usa para correos con dos partes, una de texto plano (text/plain) y una HTML (text/html). La parte de texto plano brinda compatibilidad hacia atrás mientras que la parte HTML permite el uso de formato e hipervínculos. La mayoría de los clientes de correo ofrecen una opción al usuario para preferir texto plano sobre HTML; este es un ejemplo de cómo factores locales pueden influir en cómo una aplicación elige cuál es la parte "mejor" del mensaje para mostrar.