Ich verwende Mutt, um meine E-Mails zu verarbeiten. Es gibt einen Absender, der den falschen Inhaltstyp deklariert. Die Mail kommt mit
Content-Type: multipart/alternative;
boundary=--…
und besteht aus zwei Teilen. Sie werden wie folgt deklariert:
Content-Type: text/plain; charset=utf-8
und
Content-Type: text/html; charset=utf-8
Beide Teile der Mail sind jedoch gleich. Der Klartextteil ist also genauso voll von HTML-Tags wie der HTML-Teil. Ich habe versucht, es mit dem Absender zu besprechen, aber er verwendet eine Art „Unternehmens“-Software, bei der er diese Einstellungen nicht ändern kann.
Also möchte ich die Mail lokal ändern und vielleicht den text/plain
entfernen -part oder text/plain
umschreiben nach text/html
.
Was halten Sie für den besten Weg und welche Tools kann ich verwenden, um in meinem Fall eine lesbare Mail zu erhalten?
Akzeptierte Antwort:
In mutt kannst du v eingeben , und wählen Sie dann die Alternative aus, die Sie anzeigen möchten. Sie können den Inhaltstyp eines Teils auch mit Strg-E ändern .
Als generischer Ansatz könnten Sie mutt
verwenden ‘s display_filter
Einstellung:
set display_filter=/path/to/mutt-filter
Mit mutt-filter
so etwas wie:
#! /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}
Was dazu führen würde (in welchem \u200b\u200bmutt
angezeigt wird, nicht die Roh-E-Mail) irgendetwas zwischen <html>
und </html>
um durch w3m -T text/html -dump
zu gehen (oder elinks -dump
oder Ihr bevorzugtes html
zu text
Konverter).
Da dies möglicherweise Dinge konvertiert, die nicht beabsichtigt sind (wie wenn <html>
erscheint in einem echten text/plain
Teil), möchten Sie es vielleicht so anpassen, dass es nur auf E-Mails von Leuten funktioniert, die gefälschte E-Mails senden, oder einen noch ausgefalleneren Ansatz wie das Zählen der Anzahl der Tags und das Konvertieren bei Erreichen eines Schwellenwerts …