Estoy usando mutt para procesar mi correo. Hay un remitente que declara el tipo de contenido incorrecto. El correo llega con
Content-Type: multipart/alternative;
boundary=--…
y tiene dos partes. Se declaran como:
Content-Type: text/plain; charset=utf-8
y
Content-Type: text/html; charset=utf-8
Sin embargo, ambas partes del correo son iguales. Entonces, la parte de texto sin formato está llena de etiquetas HTML, así como la parte HTML. Intenté discutirlo con el remitente, pero usan algún tipo de software "empresarial" en el que no pueden cambiar esa configuración.
Así que me gustaría cambiar el correo localmente y tal vez eliminar el text/plain
-parte o reescribe text/plain
a text/html
.
¿Cuál considera que es la mejor manera y qué herramientas puedo usar para obtener un correo legible en mi caso?
Respuesta aceptada:
En mutt, puede escribir v y luego seleccione la alternativa que desea mostrar. También puede cambiar el tipo de contenido de una parte con Ctrl-E .
Como un enfoque más genérico, podría usar mutt
's display_filter
ajuste:
set display_filter=/path/to/mutt-filter
Con mutt-filter
siendo algo como:
#! /usr/bin/awk -f
BEGIN {
cmd="echo '[automatically converted from html to text]'; w3m -T text/html -dump"
}
{l=tolower($0)}
l ~ /<html|<!doctype html/,l ~ /</html>/ {
print | cmd
next
}
{close(cmd); print}
Que causaría (en qué mutt
va a mostrar, no el correo electrónico sin formato) cualquier cosa entre <html>
y </html>
para pasar por w3m -T text/html -dump
(o elinks -dump
o su html
preferido a text
convertidor).
Como eso podría convertir cosas para las que no está destinado (como cuando <html>
aparece en un text/plain
genuino parte), es posible que desee adaptarlo para que solo funcione con correos electrónicos de aquellos tipos que envían correos electrónicos falsos, o algún enfoque aún más elegante como contar la cantidad de etiquetas y convertir cuando alcanza un umbral...