← RFC Reference

RFC 2047: MIME Parte 3 — Extensiones de Encabezado de Mensaje para Texto No ASCII

Standards Track MIME — Multipurpose Internet Mail Extensions Published March 2026
ELI5: Los encabezados de correo electrónico como Asunto y De están restringidos a ASCII simple — letras inglesas y puntuación básica. RFC 2047 es el truco que te permite escribir una línea de Asunto en japonés, un nombre de remitente en árabe, o un nombre acentuado en francés. Codifica caracteres que no son ASCII en un contenedor seguro para ASCII que cualquier servidor de correo puede transportar, y los clientes de correo lo decodifican para su visualización.

Por Qué Existe

RFC 2045 y RFC 2046 resolvieron el problema de transportar contenido no-ASCII en los cuerpos de mensajes con Content-Transfer-Encoding. Pero los encabezados de correo electrónico — Subject, nombres de visualización de From, nombres de visualización de To, y otros — están regidos por RFC 5322, que los restringe a ASCII de 7 bits.

Esto crea un problema evidente: miles de millones de usuarios de correo electrónico escriben en idiomas que requieren caracteres no-ASCII. Sin RFC 2047, no podrías enviar un correo electrónico con:

RFC 2047 define la sintaxis de palabra codificada: una forma compacta de insertar texto no-ASCII dentro de encabezados solo-ASCII, legible por cualquier cliente de correo compatible con MIME.

Cómo Funciona

El Formato de Palabra Codificada

Una palabra codificada tiene esta estructura:

=?charset?encoding?encoded-text?=

Los tres componentes son:

Componente Propósito Valores
charset El juego de caracteres del texto original UTF-8, ISO-8859-1, ISO-2022-JP, etc.
encoding Cómo se codifica el texto en ASCII B (base64) o Q (variante quoted-printable)
encoded-text La representación codificada Solo caracteres ASCII

Codificación B (Base64)

Usa codificación base64 estándar. Mejor para texto que es fuertemente no-ASCII, como scripts CJK:

; Subject: "Meeting confirmation" en japonés
Subject: =?UTF-8?B?5Lya6K2w44Gu56K66KqN?=

; Nombre de visualización de From en chino
From: =?UTF-8?B?5byg5LiJ?= <zhang@example.com>

Codificación Q (Variante Quoted-Printable)

Una codificación quoted-printable modificada optimizada para encabezados. Como QP de cuerpo, los bytes no-ASCII se convierten en pares hexadecimales =XX. Diferencia clave: los espacios se codifican como guiones bajos (_):

; Subject: "Café menu" con e acentuada
Subject: =?UTF-8?Q?Caf=C3=A9_menu?=

; Nombre de visualización de From: "René Dupont"
From: =?UTF-8?Q?Ren=C3=A9_Dupont?= <rene@example.com>

; Subject: "Gruße aus Berlin" (saludos alemanes)
Subject: =?UTF-8?Q?Gru=C3=9Fe_aus_Berlin?=

La codificación Q es más legible por humanos cuando la mayoría del texto es ASCII con solo algunos caracteres no-ASCII. La codificación B es más compacta cuando la mayoría de los caracteres son no-ASCII.

Dónde Pueden Aparecer Palabras Codificadas

Las palabras codificadas se permiten en posiciones específicas dentro de encabezados:

Las palabras codificadas no se permiten dentro de quoted-strings, en la parte local o dominio de una dirección de correo electrónico, o como valores de parámetros en encabezados estructurados como Content-Type (usa RFC 2231 para eso).

Detalles Técnicos Clave

Límites de Longitud

Cada palabra codificada no debe exceder 75 caracteres. Si el texto codificado es más largo, debe dividirse en múltiples palabras codificadas separadas por espacios en blanco plegables (CRLF + espacio o tabulación):

; Tema largo dividido en dos palabras codificadas
Subject: =?UTF-8?B?5LuK5pel44Gu5Lya6K2w44Gr44Gk44GE44Gm?=
 =?UTF-8?B?44GU5qGI5YaF44GE44Gf44GX44G+44GZ?=

Cuando dos palabras codificadas adyacentes se separan solo por espacios en blanco lineales, el espacio en blanco entre ellas se ignora durante la decodificación. Esto permite dividir sin problemas texto largo en múltiples palabras codificadas.

Selección de Juego de Caracteres

Siempre usa UTF-8 para nuevos mensajes. Los otros juegos de caracteres existen por razones heredadas:

Juego de Caracteres Caso de Uso Recomendación
UTF-8 Cubre todos los caracteres Unicode Siempre usa esto
ISO-8859-1 Herencia de Europa Occidental No uses en nuevos mensajes
ISO-2022-JP Codificación japonesa heredada Aún se ve de algunos clientes de correo japoneses
GB2312 Herencia de chino simplificado No uses en nuevos mensajes

Interacción con Plegado de Encabezado

RFC 5322 limita las líneas de encabezado a 998 caracteres y recomienda mantenerlas bajo 78. Las palabras codificadas interactúan con el plegado: puedes interrumpir entre palabras codificadas en límites de espacios en blanco, pero nunca debes interrumpir en medio de una palabra codificada. El contenedor =?...?= debe estar en una sola línea.

Reglas de Decodificación

Cuando un cliente de correo encuentra una palabra codificada, lo hace:

  1. Extrae el juego de caracteres, tipo de codificación y texto codificado del contenedor =?charset?encoding?text?=.
  2. Decodifica el texto usando base64 (B) o quoted-printable (Q).
  3. Interpreta los bytes resultantes de acuerdo con el juego de caracteres declarado.
  4. Muestra el texto Unicode decodificado al usuario.

Si el cliente no reconoce el juego de caracteres, debe mostrar la palabra codificada como está en lugar de mostrar texto ilegible.

Ejemplos

Un Mensaje Completo con Encabezados Codificados

MIME-Version: 1.0
From: =?UTF-8?Q?Ren=C3=A9_Dupont?= <rene@example.fr>
To: =?UTF-8?B?5bGx55Sw5aSq6YOO?= <yamada@example.jp>
Subject: =?UTF-8?Q?Re:_R=C3=A9union_du_15_mars?=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Bonjour Taro,

Confirmons la r=C3=A9union pour le 15 mars.

Nota: el encabezado usa palabras codificadas RFC 2047 (=?...?=), mientras que el cuerpo usa codificación quoted-printable regular (=XX sin el contenedor). Estos son mecanismos diferentes para diferentes partes del mensaje.

Comparación de Codificación

El mismo texto — "München" — codificado ambas formas:

; Codificación Q: legible, bueno para texto mayormente ASCII
=?UTF-8?Q?M=C3=BCnchen?=

; Codificación B: compacta pero opaca
=?UTF-8?B?TcO8bmNoZW4=?=

Errores Comunes

Impacto en la Entregabilidad

Related RFCs