Sto usando mutt per elaborare la mia posta. C'è un mittente che dichiara il tipo di contenuto sbagliato. La posta arriva con
Content-Type: multipart/alternative;
boundary=--…
e ha due parti. Sono dichiarati come:
Content-Type: text/plain; charset=utf-8
e
Content-Type: text/html; charset=utf-8
Tuttavia, entrambe le parti della posta sono le stesse. Quindi la parte in chiaro è piena di tag HTML così come la parte HTML. Ho provato a discuterne con il mittente, ma usano una sorta di software "aziendale" in cui non possono modificare tali impostazioni.
Quindi vorrei cambiare la posta in locale e magari rimuovere il text/plain -parte o riscrivi text/plain a text/html .
Quale ritieni sia il modo migliore e quali strumenti posso utilizzare per ottenere un messaggio di posta leggibile nel mio caso?
Risposta accettata:
In mutt, puoi digitare v , quindi selezionare l'alternativa che si desidera visualizzare. Puoi anche modificare il tipo di contenuto di una parte con Ctrl-E .
Come approccio più generico, potresti usare mutt 's display_filter impostazione:
set display_filter=/path/to/mutt-filter
Con mutt-filter essere qualcosa come:
#! /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}
Che causerebbe (in cosa mutt verrà visualizzato, non l'e-mail grezza) qualsiasi cosa tra <html> e </html> per passare attraverso w3m -T text/html -dump (o elinks -dump o il tuo html preferito a text convertitore).
Poiché ciò potrebbe convertire cose a cui non è destinato (come quando <html> appare in un vero text/plain parte), potresti voler adattarlo in modo che funzioni solo con le e-mail di quei ragazzi che inviano e-mail fasulle, o con un approccio ancora più elaborato come contare il numero di tag e convertire quando si raggiunge una soglia...