técnico · respuesta con fuentes
MIME (Multipurpose Internet Mail Extensions): qué es y cómo funciona
MIME son las siglas de Multipurpose Internet Mail Extensions. Es un estándar que amplía el Simple Mail Transfer Protocol (SMTP) original para permitir el intercambio de contenido que no es texto, como imágenes, audio, vídeo y datos de aplicaciones, así como formatos de texto enriquecido como HTML.
Cómo funciona MIME
MIME funciona agregando encabezados específicos al mensaje de correo para indicar al cliente de correo receptor cómo tratar el cuerpo. El encabezado más importante es Content-Type, que define el tipo de medio de los datos. Por ejemplo, text/plain indica texto simple, mientras que text/html indica una página web con formato. Cuando se envían varios tipos de contenido en un mismo correo, se usan los tipos multipart/mixed o multipart/alternative para agrupar las distintas secciones.
Por qué importa a los remitentes
MIME es esencial para la entregabilidad y la experiencia de usuario del correo moderno. Sin él, los correos estarían limitados a caracteres ASCII de 7 bits, lo que haría imposible la internacionalización e impediría el uso de adjuntos. Con MIME, los remitentes pueden incluir una versión alternativa en texto sin formato junto a una versión HTML, de modo que el mensaje sea legible sean cuales sean las capacidades del cliente de correo del destinatario.
Notas operativas y errores
Un error habitual es no definir el charset correcto en el encabezado Content-Type, lo que produce caracteres rotos o mojibake. Otro problema son las definiciones de boundary incorrectas en los mensajes multipart, que pueden hacer que el correo aparezca como código sin procesar o que falten adjuntos. Los desarrolladores deben asegurarse de que los datos binarios se codifiquen correctamente con Base64 para evitar que se corrompan al pasar por los relays SMTP.
Ejemplo concreto
Un encabezado MIME típico para un correo HTML con un adjunto tiene este aspecto: Content-Type: multipart/mixed; boundary=boundary_123. Dentro del cuerpo, la primera parte se marca como Content-Type: text/html; charset=UTF-8 para el cuerpo del mensaje, y la segunda como Content-Type: application/pdf; name=invoice.pdf para el archivo. Puede usar SendHQ o sus herramientas gratuitas (https://sendhq.cc/tools) para analizar cómo están estructurados sus encabezados.
Mecanismos de codificación
Como SMTP se diseñó para texto, MIME usa esquemas de codificación para transportar datos binarios. Base64 es el método más común: convierte los archivos binarios en una cadena de caracteres ASCII. La codificación Quoted-Printable se usa para texto mayoritariamente ASCII que contiene algunos caracteres no ASCII, lo que reduce la sobrecarga frente a Base64 y mantiene la compatibilidad con los sistemas de correo antiguos.
Preguntas habituales de los equipos
¿MIME es lo mismo que SMTP?
No. SMTP es el protocolo que transporta el correo de un servidor a otro, mientras que MIME es el estándar que define el formato del contenido transportado.
¿Qué es el tipo MIME multipart/alternative?
Se usa cuando el mismo contenido se envía en varios formatos, como texto sin formato y HTML, para que el cliente de correo elija la mejor versión que mostrar.
¿Por qué se usa Base64 en MIME?
Base64 codifica los datos binarios como texto ASCII, de modo que los datos llegan intactos al pasar por servidores de correo que solo admiten texto de 7 bits.
¿Se puede usar MIME fuera del correo electrónico?
Sí, el sistema de tipos MIME (hoy conocido como Media Types) se usa en toda la web, incluidos los encabezados HTTP, para describir el tipo de archivo que se descarga o se sube.