[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]:Re: Nochmal procmail und Loeschen von [Debian]



Andreas Tille <tillea@rki.de> wrote:

> Leider hatte ich mit beiden Versuchen keinen Erfolg.  Kann mir
> mal jemand einen Anhaltspunkt geben, warum es nicht funktioniert?

> Hier noch mal die empfohlenen Zeilen:

> # debian-user-de in extra folder kopieren
> :0:
>         * ^TO.*debian-user-de
>         .pine/debian-user-de

Sowas habe ich nie im Leben empfohlen, da ich es für inakzeptabel
halte, anhand des To:-Headers zu filtern, welcher zur Erkennung von
Mailinglisten absolut ungeeignet ist (ich kann Dir problemlos privat
Mails schicken, die nicht an die Liste gehen, aber To: Liste im Header 
haben und genauso gut kann ich Mails an die Liste schicken, die Kein
To: Liste im Header haben). Daher filtere ich bei der debian-user-de
zur Zeit nach dem X-Mailing-List Header, denn der steht wirklich genau 
in den Listenmails drin.

Trotzdem trifft obige Rule vermutlich die meisten (wenn auch nicht
alle) Listen-Mails und packt sie dann in den Folder
.pine/debian-user-de, so daß die folgende Rule (die wirklich von mir
stammt) nie erreicht wird und somit auch nie das [Debian] gekillt
wird.

> # Soll haessliches [Debian] loeschen
> # so aus Rolands Mail kopiert
> :0 w
> * ^X-Mailing-List: <debian-user-de@jfl\.de>
> {
>         SUBJECT=`formail -xSubject: \
>                  | sed -e 's/\(\[\|=5B\)Debian\(\]\|=5D\)\(:\|=3A\)[ _]\?//g' \
>                        -e 's/Re: \(Re: \)*/Re: /g'`
>         :0 fw
>         | formail -I"Subject:$SUBJECT"
>         :0:
>         debian-user-de
> }

Du solltest also einfach die erste der beiden Rules löschen (s.o.) und 
stattdessen die zweite Rule verwenden, denn diese löscht erst das
[Debian] und packt die Mail anschließend gleich in den Folder
debian-user-de. Letzteres mußt Du ggf. in .pine/debian-user-de
abändern, damit die Mail wirklich in dem Folder landet, wo Du sie
haben möchtest.

Da Du anscheinend aber nicht verstanden hast, was oben passiert,
sondern nur blind kopiert hast, versuche ich jetzt noch kurz, die
obige Rule zu erklären: 

Das ":0 w" startet eine neue Rule, wobei procmail aufgefordert wird,
zu warten ("w"), bis die Rule komplett abgearbeitet ist, denn sonst
könnte die Load auf Deinem System unangenehm ansteigen.
In dieser Rule werden genau die Mails verarbeitet, die 
"X-Mailing-List: <debian-user-de@jfl.de>" im Header haben und zwar am
Zeilenanfrang ("^").
Dann wird die Variable SUBJECT gesetzt und zwar wie folgt:
- Man extrahiere via formail -xSubject: den Subject-Header aus der
  Mail
- In diesem wird zunächst einmal "[Debian]:" sowie "[Debian]: "
  gelöscht (inclusive von Varianten, die die Klammern, den Doppelpunkt 
  oder das Leerzeichen als Quoted-Printable darstellen).
- Dann werden mehrere "Re: " zu einem "Re: " zusammengeführt (falls es 
  vor und hinter dem "[Debian]:" "Re:"'s gab, ist das sinnvoll.

Nun ist das neue, saubere Subject in der Variable SUBJECT enthalten
und wir können eine Sub-Rule starten, die die Mail verändert
(filtert), was durch das ":0 fw" initiiert wird. Das Formail ersetzt
nun das Original-Subject durch das eben gesäuberte Subject aus der
Variable SUBJECT.
Nachdem auch das vollbracht ist, wird die Mail jetzt einfach noch in
den Folder debian-user-de gesteckt, wobei dieser gelockt wird (durch
den zweiten Doppelpunkt in ":0:").

Tschoeeee

        Roland

-- 
 * roland@spinnaker.de * http://www.spinnaker.de/ *
 PGP: 1024/DD08DD6D   2D E7 CC DE D5 8D 78 BE  3C A0 A4 F1 4B 09 CE AF
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     740


Reply to: