E-Mail/Procmail
Mittels des Programms procmail können E-Mails direkt beim Eintreffen auf dem Server sortiert und gefiltert werden.
Vorbereitung
Zuerst sollten sie sich mit der grundsätzlichen Konfiguration unseres Mail-Servers vertraut machen. Eine Hilfestellung dazu bietet die Seite über .courier-Dateien.
Um procmail auszuführen, muss die .courier-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