Cuando guardo el correo electrónico como Origen de Mensaje en Bruto, muchas etiquetas se rompen por algún tipo de codificación extraña. ¿Es esto intencional?
Sí, es intencional.
Para admitir idiomas diferentes, MIME codifica mensajes con Base64 (que no es legible por humanos) o la codificación Q, bastante legible, utilizada en el extracto que proporcionas en tu pregunta.
Q-encoding (que es una versión ligeramente modificada de Quoted-Printable) codifica caracteres que no sean ASCII imprimibles con la siguiente secuencia por cada byte de la representación UTF-8 de ese carácter:
- un signo igual (
=
)
- dos dígitos que representan el valor hexadecimal del byte
Por ejemplo, el caracter a con diéresis (ä
) se representa como =C3=A4
, y un caracter de avance de línea ASCII se representa como =0C
.
Dado que =
se usa como un caracter de escape, también necesita ser codificado. Su representación es =3D
, por eso aparece =3D donde se esperaría = en el texto HTML.
Los saltos de línea adicionales son consecuencia del requisito de que las líneas de texto codificado en Quoted-Printable no deben ser más largas de 76 caracteres. Para cumplir con esta limitación, se agregan saltos de línea suaves consistiendo en un =
al final de una línea codificada.
Esperaba que la salida fuera HTML válido que pudiera ver en el navegador.
Después de "decodificar" el texto codificado en Quoted-Printable, debería ser efectivamente marcado y CSS válido, pero ten en cuenta que su corrección y completitud dependen del cliente de correo electrónico que compuso el mensaje.
Puedo confirmar que algunos clientes de correo electrónico envían HTML que se puede ver en un navegador, mientras que otros usan un subconjunto de HTML.