¿Qué ha pasado cuando aparece `=?iso8859-1?B?`...`?=` en una dirección de correo electrónico?

¿Qué ha pasado cuando aparece `=?iso8859-1?B?`...`?=` en una dirección de correo electrónico?

Veo cosas como =?iso8859-1?B?... ?=en direcciones de correo electrónico. Supongo que esto está definido en algún RFC. ¿Alguien puede explicar dónde? ¿Se supone que esto está obsoleto ahora que todo es Unicode?

Respuesta1

Este es el formato RFC 2047 de "palabra codificada" que se utiliza en los mensajes de correo electrónico en formato MIME (es decir, básicamente todos) para ajustar datos de 8 bits en ASCII de 7 bits. No tiene nada que ver con HTTP GET o cadenas de consulta.

La palabra codificada es para los encabezados como lo es la codificación de transferencia de contenido para el cuerpo del mensaje; ambos usan formatos Base64 o Quoted-Printable para convertir datos de 8 bits en datos ASCII de 7 bits, y ambos son fenómenos normales en los mensajes.

Sin embargo, normalmente nunca deberías ver dicho texto codificado en tu aplicación de correo (excepto al ver la fuente del mensaje); siempre debería mostrarse decodificado en la interfaz de usuario. Si la aplicación de correo le muestra la palabra codificada sin formato, lo más probable es que no se haya podido decodificar correctamente (por ejemplo, el remitente especificó un conjunto de caracteres incorrecto).

Este formato no está obsoleto por Unicode; logra una tarea diferente y es igualmente aplicable a todos los conjuntos de caracteres. De hecho, verás con frecuencia que el texto Unicode se codifica como =?utf-8?....

De todos modos, esopuedequedar obsoleto por la extensión SMTP "8BITMIME". Como muchas cosas del correo electrónico, proviene de una era en la que algunas redes no eran "limpias de 8 bits" y podían descartar o alterar el valor del bit alto, algo que ya no es cierto para el software SMTP moderno que se ejecuta sobre TCP/IP.

Respuesta2

Lo más probable es que se trate de un correo electrónico generado por un software con un complemento mal configurado o mal escrito. Los "=" y "?" probablemente indique que los parámetros GET se están pasando (y mal interpretados/mal organizados) en una función en algún lugar.

Ver por ejemplo: (https://magento.stackexchange.com/questions/37663/plugin-email-sender-incorrectly-uses-iso-8859-1) donde el OP cita una alteración similar basada en un error.

De: =?iso-8859-1?Q? (...) =[correo electrónico protegido]

información relacionada