J'utilise mutt pour traiter mon courrier. Il y a un expéditeur qui déclare le mauvais type de contenu. Le courrier arrive avec
Content-Type: multipart/alternative;
boundary=--…
et comporte 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 identiques. Ainsi, la partie en clair est pleine de balises HTML ainsi que la partie HTML. J'ai essayé d'en discuter avec l'expéditeur, mais il utilise une sorte de logiciel "d'entreprise" dans lequel il ne peut pas modifier ces paramètres.
J'aimerais donc changer le courrier localement et peut-être supprimer le text/plain
-part ou réécrit text/plain
en text/html
.
Que considérez-vous comme le meilleur moyen et quels outils puis-je utiliser pour obtenir un courrier lisible dans mon cas ?
Réponse acceptée :
Dans mutt, vous pouvez taper v , puis sélectionnez l'alternative que vous souhaitez afficher. Vous pouvez également modifier le type de contenu d'une partie avec Ctrl-E .
Comme approche plus générique, vous pouvez utiliser mutt
display_filter
réglage :
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}
Ce qui causerait (en quoi mutt
va s'afficher, pas l'e-mail brut) quelque chose entre <html>
et </html>
pour passer par w3m -T text/html -dump
(ou elinks -dump
ou votre html
préféré en text
convertisseur).
Comme cela pourrait convertir des choses auxquelles il n'est pas destiné (comme lorsque <html>
apparaît dans un véritable text/plain
partie), vous voudrez peut-être l'adapter pour qu'il ne fonctionne que sur les e-mails de ceux qui envoient de faux e-mails, ou une approche encore plus fantaisiste comme compter le nombre de tags et convertir lorsqu'il atteint un seuil…