E-Mail/Procmail: Unterschied zwischen den Versionen
Eichi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Eichi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 40: | Zeile 40: | ||
|title=Auslagerung der Filter-Regeln | |title=Auslagerung der Filter-Regeln | ||
|content=Aufgrund einer besseren Übersicht, sind die Filter-Regeln im Ordner /home/<user>/.procmail/ als *.rc ausgelagert, | |content=Aufgrund einer besseren Übersicht, sind die Filter-Regeln im Ordner /home/<user>/.procmail/ als *.rc ausgelagert, | ||
die mit einem INCLUDERC= einfach implementiert werden können. Jener Ort und Dateiname kann aber beliebig gewählt werden. Selbiges gilt für die Log-Datei, | die mit einem INCLUDERC= einfach implementiert 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. | |||
|image= | |||
}} | }} | ||
=Filter= | |||
Zuerst sollten sie eine '''catch-all.rc'' erstellen und mit INCLUDERC '''an letzter Stelle''' einfügen werden, die jenen Inhalt beherbergt: | |||
:0: | |||
new | |||
Somit wird jene Mail, die auf keinen der vorherigen Filter zutrifft, in den Haupt-Mail-Ordner unter /new abgelegt, erscheint also in ihrem E-Mail-Client unsortiert und als "ungelesen". | |||
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: (zum Schutz meiner Privatsphäre teilweise zensiert) | |||
# ---------------------------------------------- CCC Debatten Mailingliste | |||
:0 | |||
* ^(To:|Cc:).*(debate@lists.ccc.de|debate@ccc.de) | |||
.MLs.CCC-Debatten/new | |||
# ----------------------------------------------- LUG tuebingen | |||
:0 | |||
* ^(To:|Cc:).*lug-tuebingen@jura.uni-tuebingen.de | |||
.MLs.LnxGroupTue/new | |||
# ---------------------------------------------- tiles@home | |||
:0 | |||
* ^Subject:.*[\tilesathome\] | |||
.MLs.tiles@home/new | |||
# ----------------------------------------------- <<censored>> | |||
:0 | |||
* ^Subject:.*[\<<censored>>-tuebingen] | |||
.MLs.<<censored>>/new | |||
{{Box | |||
|title= | |||
|content=Nach den selben Schemata lassen sich die Filter.rc-Dateien beliebig erweitern und neue *.rc-Dateien hinzufügen, | |||
INCLUDERC nicht vergessen! | |||
|image= | |||
}} | |||
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 |
Version vom 14. Oktober 2007, 14:52 Uhr
Beschreibung
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 Konfiguration von qmail vertraut machen. E-Mail/Konfiguration/.qmail-Dateien Minimaler inhalt der .qmail-xxxxxx datei ist:
|/usr/local/bin/preline -f procmail
optional könnte sie 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 procmail
wobei die Reihenfolge auch die Reihenfolge der bearbeitung wiederspiegelt: Sollte eine Mail als Spam erkannt werden, wird die Mail nicht mehr zu procmail durchgeleitet sondern in den Spam-Ordner verschoben
Haupt-Konfiguration
Die eigentliche Konfiguration findet in der Datei /home/<user>/.procmailr< statt.
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 /home/<user>/.procmail/ als *.rc ausgelagert, die mit einem INCLUDERC= einfach implementiert 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
Zuerst sollten sie eine catch-all.rc erstellen und mit INCLUDERC an letzter Stelle' einfügen werden, die jenen Inhalt beherbergt:
:0: new
Somit wird jene Mail, die auf keinen der vorherigen Filter zutrifft, in den Haupt-Mail-Ordner unter /new abgelegt, erscheint also in ihrem E-Mail-Client unsortiert und als "ungelesen".
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: (zum Schutz meiner Privatsphäre teilweise zensiert)
# ---------------------------------------------- CCC Debatten Mailingliste :0 * ^(To:|Cc:).*(debate@lists.ccc.de|debate@ccc.de) .MLs.CCC-Debatten/new
# ----------------------------------------------- LUG tuebingen :0 * ^(To:|Cc:).*lug-tuebingen@jura.uni-tuebingen.de .MLs.LnxGroupTue/new
# ---------------------------------------------- tiles@home :0 * ^Subject:.*[\tilesathome\] .MLs.tiles@home/new
# ----------------------------------------------- <<censored>> :0 * ^Subject:.*[\<<censored>>-tuebingen] .MLs.<<censored>>/new
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