E-Mail/Procmail
Mittels des Programms procmail können E-Mails direkt beim Eintreffen auf dem Server sortiert und gefiltert werden.
Vorbereitung
Dieser Artikel benutzt Dateinamen wie .qmail. Dies ist im Moment zwar korrekt, wird aber in Kürze geändert. Bitte achten Sie auf unsere aktuellen Ankündigungen sowie die Hinweise über Unterschiede zwischen QMail und Courier.
Zuerst sollten sie sich mit der grundsätzlichen Konfiguration unseres Mail-Servers vertraut machen. Eine Hilfestellung dazu bietet die Seite über .qmail-Dateien.
Um procmail auszuführen, muss die .qmail-Datei mindestens folgenden Inhalt haben:
|/usr/local/bin/preline -f /usr/bin/procmail
mit zusätzlichem Aufruf eines Spam- und Virenfiltern könnte die Datei auch so aussehen:
|/usr/local/bin/keks-user-qmail-ifvirus put ./Mail/.Virus/ |/usr/local/bin/keks-user-qmail-ifspam put ./Mail/.Spam/ |/usr/local/bin/preline -f /usr/bin/procmail
Achten Sie darauf, dass die Reihenfolge innerhalb der Datei auch die Reihenfolge der Bearbeitung wiederspiegelt: Sollte eine Mail als Spam erkannt werden, wird die Mail nicht mehr zu procmail durchgeleitet sondern z.B. in den Spam-Ordner verschoben
Konfiguration
Die eigentliche Konfiguration sucht procmail in der Datei ~/.procmailrc.
Aussehen könnte sie, recht selbsterklärend, wie folgt:
# ----------------------------------- main files and dirs DEFAULT=${HOME}/Mail/ MAILDIR=${HOME}/Mail/ PMDIR=${HOME}/.procmail # ----------------------- Logging LOGFILE=${PMDIR}/procmail.log VERBOSE=yes LOGABSTRACT=all # ----------------------------------- filters INCLUDERC=${PMDIR}/lists.rc INCLUDERC=${PMDIR}/catch-all.rc
Aufgrund einer besseren Übersicht, sind die Filter-Regeln im Ordner ~/.procmail/ als einzelne Dateien ausgelagert. Mittels INCLUDERC= werden diese in der Haupt-Konfigurationsdatei eingebundenimplementiert werden können. Jener Ort und Dateiname kann aber beliebig gewählt werden. Selbiges gilt für die Log-Datei.
Die Log Datei kann weggelassen und die Filterregeln können in die .procmailrc geschrieben werden, beides ist jedoch nicht empfehlenswert.
Filter
erstellen wir eine Datei mit den Namen lists.rc im procmail-Ordner. (hier: /home/<user>/.procmail/) Sie soll die Filterregeln aller Mailinglisten beinhalten. hier exemplarisch ein Beispiel, dass die Syntax verdeutlichen soll:
# ---------------------------------------------- CCC Debatten Mailingliste :0 * ^(To:|Cc:).*(debate@lists.ccc.de|debate@ccc.de) .MLs.CCC-Debatten/ # ----------------------------------------------- LUG tuebingen :0 * ^(To:|Cc:).*lug-tuebingen@jura.uni-tuebingen.de .MLs.LnxGroupTue/ # ---------------------------------------------- tiles@home :0 * ^Subject:.*[\tilesathome\] .MLs.tiles@home/
Nach den selben Schemata lassen sich die Filter.rc-Dateien beliebig erweitern und neue *.rc-Dateien hinzufügen, INCLUDERC nicht vergessen!
http://www.64-bit.de/dokumentationen/netzwerk/f/002/DE-Mailserver-HOWTO-5.html Hier finden sie weitere Filtermöglichkekeiten und eine genauere Beschreibung der Syntax