E-Mail/Procmail: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
=Beschreibung=
Mittels des Programms '''procmail''' können E-Mails direkt beim Eintreffen auf dem Server sortiert und gefiltert werden.
Mittels des Programms '''procmail''' können E-Mails direkt beim Eintreffen auf dem Server sortiert und gefiltert werden.




=Vorbereitung=
=Vorbereitung=
Zuerst sollten sie sich mit der Konfiguration von qmail vertraut machen. [[E-Mail/Konfiguration/.qmail-Dateien]]
{{Vorlage:Dot-QMail}}
Minimaler inhalt der .qmail-xxxxxx datei ist:
Zuerst sollten sie sich mit der grundsätzlichen Konfiguration unseres Mail-Servers vertraut machen. Eine Hilfestellung dazu bietet die Seite [[E-Mail/Konfiguration/.qmail-Dateien|über '''.qmail'''-Dateien]].
 
Um '''procmail''' auszuführen, muss die '''.qmail'''-Datei mindestens folgenden Inhalt haben:


   |/usr/local/bin/preline -f procmail
   |/usr/local/bin/preline -f /usr/bin/procmail


optional könnte sie auch so aussehen:
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-ifvirus put ./Mail/.Virus/
  |/usr/local/bin/keks-user-qmail-ifspam put ./Mail/.Spam/
  |/usr/local/bin/keks-user-qmail-ifspam put ./Mail/.Spam/
  |/usr/local/bin/preline -f procmail
  |/usr/local/bin/preline -f /usr/bin/procmail
 
{{AlertBox
{{AlertBox
  |title=Reihenfolge beachten
  |title=Reihenfolge beachten
  |content=wobei die Reihenfolge auch die Reihenfolge der bearbeitung wiederspiegelt:
  |content=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 in den Spam-Ordner verschoben
Sollte eine Mail als Spam erkannt werden, wird die Mail nicht mehr zu '''procmail''' durchgeleitet sondern z.B. in den Spam-Ordner verschoben
}}
}}


=Haupt-Konfiguration=
=Konfiguration=
Die eigentliche Konfiguration findet in der Datei /home/<user>/.procmailrc statt.
Die eigentliche Konfiguration sucht '''procmail''' in der Datei '''~/.procmailrc'''.


Aussehen könnte sie, recht selbsterklärend, wie folgt:
Aussehen könnte sie, recht selbsterklärend, wie folgt:
  # ----------------------------------- main files and dirs
  # ----------------------------------- main files and dirs
  DEFAULT=${HOME}/Mail
  DEFAULT=${HOME}/Mail/
  MAILDIR=${HOME}/Mail
  MAILDIR=${HOME}/Mail/
  PMDIR=${HOME}/.procmail
  PMDIR=${HOME}/.procmail
  # ----------------------- Logging
  # ----------------------- Logging
Zeile 39: Zeile 40:
{{Box
{{Box
  |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 '''~/.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 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.
Die Log Datei kann weggelassen und die Filterregeln können in die '''.procmailrc''' geschrieben werden, beides ist jedoch nicht empfehlenswert.
|image=
  }}
  }}


Zeile 69: Zeile 69:
  * ^Subject:.*[\tilesathome\]
  * ^Subject:.*[\tilesathome\]
  .MLs.tiles@home/new
  .MLs.tiles@home/new
# ----------------------------------------------- <<censored>>
:0
* ^Subject:.*[\<<censored>>-tuebingen]
.MLs.<<censored>>/new


{{Box
{{Box
Zeile 79: Zeile 74:
  |content=Nach den selben Schemata lassen sich die Filter.rc-Dateien beliebig erweitern und neue *.rc-Dateien hinzufügen,
  |content=Nach den selben Schemata lassen sich die Filter.rc-Dateien beliebig erweitern und neue *.rc-Dateien hinzufügen,
INCLUDERC nicht vergessen!
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
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, 16:04 Uhr

Mittels des Programms procmail können E-Mails direkt beim Eintreffen auf dem Server sortiert und gefiltert werden.


Vorbereitung

Hinweis

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
Reihenfolge beachten

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

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

Zuerst sollten sie eine catch-all.rc erstellen und mit INCLUDERC an letzter Stelle einfügen, 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
[[Bild:{{{image}}}]]

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