Modifier un courrier entrant à partir de text / plain vers text / html

J'utilise Mutt pour traiter mon courrier. Il y a un expéditeur qui déclare le type de contenu incorrect. Le courrier arrive avec

Content-Type: multipart/alternative; boundary=--… 

et a deux parties. Ils sont déclarés comme:

 Content-Type: text/plain; charset=utf-8 

et

 Content-Type: text/html; charset=utf-8 

Cependant les deux parties du courrier sont les mêmes. Ainsi, la partie en text clair est pleine de balises HTML ainsi que la partie HTML. J'ai essayé de discuter avec l'expéditeur, mais ils utilisent une sorte de logiciel d'entreprise où ils ne peuvent pas modifier ces parameters.

Donc, je voudrais changer le courrier localement et peut-être supprimer le text/plain ou réécrire text/plain en text/html .

Qu'est-ce que vous considérez comme le meilleur moyen et quels outils puis-je utiliser pour get un courrier lisible dans mon cas?

Dans mutt, vous pouvez taper v , puis sélectionner l'alternative que vous voulez afficher. Vous pouvez également changer le type de contenu d'une pièce avec Ctrl-E .

En tant qu'approche plus générique, vous pouvez utiliser le paramètre display_filter mutt :

 set display_filter=/path/to/mutt-filter 

Avec mutt-filter étant quelque chose comme:

 #! /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} 

w3m -T text/html -dump quoi entre <html> et </html> pour passer par w3m -T text/html -dump (ou elinks -dump ou votre convertisseur html en text préféré ).

Comme cela pourrait convertir des choses auxquelles il n'est pas destiné (comme quand <html> apparaît dans un vrai text/plain partie text/plain ), vous pouvez l'adapter pour qu'il fonctionne uniquement sur les emails de ces gars qui envoient des emails faux, même une approche plus sophistiquée comme countr le nombre d'labels et convertir lorsque vous atteignez un seuil …