Hallo Ratti, * Jörg Rossdeutscher <ratti@gesindel.de> [2003-11-19 21:23] schrieb:
Am Di, den 18.11.2003 schrieb Mathias Bauer um 15:34:
`=?iso-8859-1?q?=...'! Die `Re:'-`Fwd:'-Problematik macht eine Betreffzeilen-Filtrierung nur noch zusätzlich fehleranfällig.
Jaaa! Da muß ich mich auch irgendwann dransetzen. Zerrissene Threads wieder herzustellen ist ja nicht sinnvoll machbar, ...
Nicht sinnvoll heißt aber doch, dass es machbar ist. Machst Du das dann per Hand, oder gibt es da irgendwas automatisches in deinem MUA? Ich kenne Evolution nur als gelobtes Outlook-Pendant, obwohl es sicher *wesentlich* *besser* ist. (Bitte meine Unkenntnis und v.a. den Vergleich nicht übel nehmen!) Wie funktioniert das bei dir?
... aber wenn man nur die Subjects "reparieren" könnte, dann würde ja die alphabetische Sortierung nach Subject im MUA greifen.
Der `Re:'-`Fwd:'-Probleme kann man schon einigermaßen Herr werden. Ich setze dazu die Procmail Library von Jari Aalto ein (http://pm-lib.sourceforge.net/) Ich zitiere mal kurz aus dem entsprechenden Modul: # Subject: re- Re^2: Re[32]: FW: Re: Re(15) Sv: Re[9]: -reply \ # (fwd) [fwd] <fwd> fw: [FWD: [FWD:]] # -subj subj: subj: subj- # test # # This recipe standardizes any subject (like above) that has been # replied to, to de facto format below. That is: "Any number of RE # will be converted to *single* RE and any number of FWD will be # converted to *single* FWD." # # Subject: Re: test (fwd) Einfach folgendes in die .procmailrc setzen und gut ist's: ---------- schnipp ---------- # Quelle der PM-Lib PMSRC = ${PMDIR}/procmail-lib/lib # Keine Headerzeile X-Old-Subject: einfügen JA_SUBJECT_SAVE = no # Modul der PM-Lib einbinden INCLUDERC = ${PMSRC}/pm-jasubject.rc ---------- schnapp ---------- Ich bin damit sehr zufrieden. Man kann die Lib auch noch für viele andere Zwecke einsetzen, weil sie modular aufgebaut ist. Absolute Schrott-Betreffs werden damit wieder lesbar. Allerdings würde ich nicht darauf vertrauen, dass ein Filter basierend auf entsprechend bearbeiteten Betreffzeilen wirklich zuverlässig arbeitet. Dazu gibt es immer noch zu viele Unwägbarkeiten! Das =?iso-8859-1?q?= etc. habe ich nie genauer analysiert. Meist steht danach irgend ein Umlaut und manchmal heißt es statt -1 eben -15 etc. Ich habe mir schon mal überlegt, ob man da mit recode was machen kann, oder ob man es gar mit sed das einfach wegoperiert, aber dann kommt sicher eine Email mit ganz exotischer (oder nicht konformer) Kodierung, welche man garantiert nicht berücksichtigt hat. Weil ich seinerzeit die Message-IDs als besseres Kriterium entdeckte, habe ich diesen Ansatz nicht weiter verfolgt. I.d.R. wird das durch den MUA schon irgendwie interpretiert und lesbar gemacht. Das hat mich dann nicht mehr gekümmert (obwohl es natürlich unschön bleibt).
Exakter lässt sich mit Hilfe der Message-IDs filtern. Verwendet
Wie sind deine Erfahrungen mit den IDs? Leider gehört mein MUA zu denen, die keine korrekte schreiben, aber immerhin ist sie alltagstauglich.
Ich habe jetzt einmal eine ID willkürlich aus einer Deiner Emails heraus gegriffen (Abschnitt 3.6.4 im RFC 2822 ist da maßgeblich): <1069103770.696.69.camel@ratti.local> Um die Eindeutigkeit der Email zu sichern wird halt empfohlen (Zeile 1385 im RFC), die eigene Domain rechts vom @ zu verwenden. Links sieht es bei dir doch ganz ok aus (mit Zeitstempel und so). Meine Erfahrungen mit IDs sind folgende: im Normalfall sind die Betreffzeilen Message-ID: und In-Reply-To: relativ unproblematisch zu verarbeiten, weil sie eben nur eine ID enthalten. Auch wenn es übel aussieht, ist folgendes RFC-konform: <!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAAluUV37Z4XUicx5e5t5lzZsKAAAAQAAAABTnqIVWblUaN9I0Jv8jNYAEAAAAA@deichpiraten.de> <3BB9047600047FD6@mail.epost.de> (added by postmaster@mail.epost.de) <000001c24a06$4dde7900$0100a8c0@raid> ("Thomas Trautner"'s message of "Thu, 22 Aug 2002 20:04:05 +0200") <000001c25909$3eec5a90$0101a8c0@dbendowski.do>; from dennis@dbendowski.de on Die, Sep 10, 2002 at 10:32:56 +0200 Ich habe jetzt nicht jedes Zeichen auf Zugehörigkeit zur richtigen Zeichenmenge geprüft. Weil hierbei nur *eine* Zeichenkette <...> auszuwählen ist, gibt es keine Probleme. Das Skript threadfilter.sh (-add) in meiner anderen Email erledigt das mit einem formail -czx message-id: wobei man besser noch nachschaltet: sed 's/<\([^>].*\)>/\1/' . Häufiger muss man auch mit folgendem auskommen (MUA ist wahrscheinlich krank). Dabei ist der fehlende Domain-Teil noch nicht einmal so schlimm wie die Leerzeichen zwischen den Klammern: <200207271403.39211.> <DGEEIJPMADFAHFNHEOGNGEMCCAAA.lists> <200209130834.40867.Thomas Fick <>> <200302171323.51608.Thilo Alfred =?iso-8859-1?q?B=E4tzig?= <>> <200310121933.06015.Andreas Winkelmann <>> <=?iso-8859-15?q?200212041314=2E59737=2EG=FCnter=20Ziesmer?= <>> Das Skript hat mit Leerzeichen natürlich ein Problem, weil ich den --filter Teil etwas restriktiver geschrieben habe. Gültige IDs sind nur <[^[:blank:]]\+@[^[:blank:]]\+> s.u. Die Gefahr fehlender ID-Eindeutigkeit und damit von false-positives wächst durch solche "IDs". Praktisch gesehen hatte ich noch keine Probleme damit. Wesentlich übler ist aber die Headerzeile References:, die mehrere IDs enthalten kann (eben alle IDs bis soz. zur ersten Wurzel-Email des Threads). Am einfachsten (und RFC-konform) wäre eine einfache Trennung mit Leerzeichen bzw. Newlines was auch immer. Man hat mit folgendem zu kämpfen (alles eine Zeile). <1030870842.4142.5.camel@linux> <3D6A467E0002DFDB@webmail.hansenet.de> <20020901093021.GE1067@eumel.yoo.local> <3D6A467E0002E135@webmail.hansenet.de> (added by postmaster@post.hansenet.de) Ist übrigens alles konform, wenn man von den Domain-Teilen absieht. Hier hat sich in der Praxis am besten bewährt, zunächst < und > mit zusätzlichen Newlines zu ersetzen und danach gültige Zeilen auszuwählen und zu sortieren: formail -cz -x in-reply-to: -x references: | \ sed 's/</\ </g; s/>/>\ /g;' | \ sed -n '/^<[^[:blank:]]\+@[^[:blank:]]\+>$/p' | \ sort -u >"$TMPFILE" Habe ich vergessen, zu erwähnen, dass es auch sowas gibt: <3E2FB2FB.AB1755CE@gmx.de> Da kommt richtig Freude auf, gell :o) Am besten kannst du dir selbst ein Bild machen mit cat BigMBox | formail -s formail -czx references:
Kann man das für alle MUAs sagen?
Nein, wohl nicht. Es gibt todkranke, kranke (die durch richtige Konfiguration wieder gesund werden) und gesunde MUAs.
Danke für dein Repost. Ist für kalte Wintertag beiseite gepackt,
Bitte. Ich habe auch schon wieder einige Verbesserungsideen für die Nebelzeit. Gruß, Mathias -- Das Briefgeheimnis sowie das Post- und Fernmeldegeheimnis sind unverletzlich. Grundgesetz, Artikel 10, Abs. 1 Infos rund um Email-Verschlüsselung --> www.gnupp.de Mein OpenPGP-Schlüssel 0x3B458473 --> blackhole.pca.dfn.de