Wie kann ich in Mutt Nachrichten basierend auf der Zeichensatzverwendung auswählen?

Wie kann ich in Mutt Nachrichten basierend auf der Zeichensatzverwendung auswählen?

Ich versuche, alle Nachrichten, die chinesische oder kyrillische (russische) Zeichen enthalten, zum Löschen zu markieren, da sie für mich alle Spam sind.

Antwort1

Sie können die Kodierung wie folgt filtern foo:~h^content-type:.*foo

Dies ist jedoch ziemlich begrenzt. Erstens können Nachrichten, die bestimmte Zeichen verwenden (chinesische Zeichen, Kyrillisch usw.), in UTF-8 kodiert werden. Darüber hinaus wird bei Nachrichten mit Anhängen die Kodierung in den Headern der MIME-Anhänge angegeben, und aus Sicht der Mutt-Muster ist dies der Textkörper; Sie können immer noch verwenden ~Bfoo, aber es wird langsam sein und Sie könnten falsche Positivergebnisse erhalten (Sie können nicht einschließen, content-typeda die Header der Anhänge in mehreren Textzeilen stehen können).

Es gibt möglicherweise externe Tools, die das Skript identifizieren können, aber das hat nichts mehr mit Mutt zu tun ...

Wenn dies zum Filtern von Spam dient, können Bayes-Filter für diese Art von Dingen gut geeignet sein (ohne dass man wissen muss, um welches Skript es sich handelt).

Sie können auch nach dem Vorhandensein bestimmter Zeichen filtern, die zu einer bestimmten Schrift gehören: sieheVerwenden Sie reguläre Ausdrücke, um JEDES chinesische Zeichen in der UTF-8-Kodierung abzugleichen. Dies funktioniert in Mutt noch nicht (vielleicht in der Zukunft), aber in der Zwischenzeit könnten externe Tools verwendet werden.

Es ist auch möglich, ohne vorherige Dekodierung zu filtern (das ist schneller). Beispielsweise filtere ich derzeit russischen Spam in Postfix mit dem folgenden pcre-Regex (Groß-/Kleinschreibung beachten):

/^Subject:\s*"?=\?[Uu][Tt][Ff]-8\?[Bb]\?(0[J-Z]|(KN|W9)[C-R])/i

verwandte Informationen