E-Mail/Procmail: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
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 sehr empfehlenswert für eine Filter-Fehler-Analyse ist.
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, 15: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
Reihenfolge beachten

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
[[Bild:]]
Auslagerung der Filter-Regeln

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
[[Bild:]]

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