Peter Nacken <listen@hpnacken.de>
ich kämpfe mich seit ... durch die procmaildoku man, procmail.org usw.
hallo hier mal einen Ausschnitt aus meiner .procmail und .forward Die Datei $HOME/.forward enthält genau eine Zeile, incl. der " ---------------------------------------- "|exec /usr/bin/procmail -t" ---------------------------------------- Ich speichere meine Mails im MH-Mail Format und nicht Maildir oder mailbox. D.h. jede Mail wird in einer separaten Datei gespeichert. Das Kommando: /usr/lib/rcvstore ist eben für MH sinnvoll (man erhält dann eine spezielle Kennung im Mail-Client, daß es noch ungelesene Mails gibt, ohne das Kommando unterbleibt das), für andere ist kein Kommando nötig, sondern einfach nur der Name des Ordners. Siehe Kommentar unten, wie das Kommando für die verschiedenen Arten von Mail-Speicherarten benutzt werden muß. Mehr Beisiele gibt's in man 5 procmail $HOME/.procmail sieht bei mir so aus (Auschnitt) (Achung, ich habe jeder Zeile hier ein Blank vorangestellt, das sollte in .procmail nint stehen) ---------------------------------------- # .procmailrc # $Id: .procmailrc,v 1.122 2003/07/29 09:17:21 vollmer Exp $ PATH=/bin:/usr/bin:/usr/bin MAILDIR=$HOME/Mail DEFAULT=$MAILDIR/mbox LOGFILE=$MAILDIR/procmail.log LOCKEXT=.lock LOCKSLEEP=2 # VERBOSE=on VERBOSE=off # A line starting with ':' marks the beginning of a recipe. # It has the following format: # # :0 [flags] [ : [locallockfile] ] # <zero or more conditions (one per line)> # <exactly one action line> # If it is a directory, the mail will be delivered to a # newly created, guaranteed to be unique file named $MSGPRE # FIX* in the specified directory. If the mailbox name ends # in "/.", then this directory is presumed to be an MH # folder; i.e., procmail will use the next number it finds # available. If the mailbox name ends in "/", then this # directory is presumed to be a maildir folder; i.e., proc # mail will deliver the message to a file in a subdirectory # named "tmp" and rename it to be inside a subdirectory # named "new". If the mailbox is specified to be an MH # folder or maildir folder, procmail will create the neces # sary directories if they don't exist, rather than treat # the mailbox as a non-existent filename. When procmail is # delivering to directories, you can specify multiple direc # tories to deliver to (procmail will do so utilising # hardlinks). # make a backup copy of each mail into directory last-mails # :0 c # last-mails/. # we do not want notification in this folder, hence no: # | /usr/lib/rcvstore +last-mails # store at most 300 mails in the backup folder # :0 ic # | cd last-mails && rm -f dummy `ls -t [0-9]* | sed -e 1,300d` # runs spamassin and let it be futher processed by procmail: :0fw | /usr/bin/spamassassin --auto-whitelist # delete spam # :0 # * ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\* # /dev/null # and store spam marked mails in a separate folder :0 :spam/$LOCKEXT * ^X-Spam-Status: Yes | /usr/lib/rcvstore +spam # Suche ob ein URL "www.*adult|sex*.(com|...)" enthalten ist # und weitere Tests... # Spamassin hat Probleme mit Deutch :0 B:spam/$LOCKEXT * (www\..*(adult|sex).*\.(com|biz|net|de))|([dD]ich.*sehr.*gut.*kennt)|(Sex )|(<[iI][mM][gG].*>) | /usr/lib/rcvstore +spam # Mails von der TeX-Mailing-Liste nach tools/tex # Absender hat das Format: *.CTAN-ANN.* :0 :tools/tex/$LOCKEXT * (^(To|Cc):.*CTAN-ANN.*) | /usr/lib/rcvstore +tools/tex # SuSe-Linux Mailing liste nach tools/suse # Aber gleichzeitig noch das Reply-To Feld "richtig" setzten, nämlich # auf suse-linux@suse.com bzw.suse-isdn@suse.com # Dazu wird das Programm "formail" benutzt :0 * (^(To|Cc|From:):.*suse-linux@(lists\.)?suse.(com|de)) { :0 wf | formail -i "Reply-To: suse-linux@suse.com" :0 tools/suse/$LOCKEXT | /usr/lib/rcvstore +tools/suse } :0 * (^(To|Cc|From:):.*suse-isdn@(lists\.)?suse.(com|de)) { :0 wf | formail -i "Reply-To: suse-isdn@suse.com" :0 tools/suse/$LOCKEXT | /usr/lib/rcvstore +tools/suse } # und noch viele viele weitere Regeln # fall through: put everything into inbox, don't miss this rule # Ganz wichtig: die letzte Regel sollte alles in die inbox schieben :0 :inbox/$LOCKEXT * | /usr/lib/rcvstore +inbox ---------------------------------------- Für die weitere Erklärung der einzelnen Komponenten muß man sich dann aber schon durch man procmail quälen. Ich nehm' mir aber immer die alten Regeln als "Vorbild" und schreib dann neue. Ich weis, da könnte man noch vieles bessermachen, aber es funktioniert so bei mir, also reichts. Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 juergen.vollmer@[informatik-vollmer.de|alumni.uni-karlsruhe.de|acm.org] www.informatik-vollmer.de