procmail
| procmail | |
|---|---|
| Entwickler | Procmail Foundation |
| Aktuelle Version | 3.22 (10. September 2001) |
| Betriebssystem | Linux, Unix |
| Kategorie | Mailfilter |
| Lizenz | GPL und AL |
| Deutschsprachig | nein |
| www.procmail.org | |
Procmail ist ein Mail Delivery Agent (MDA), der zur serverseitigen Filterung von E-Mail-Nachrichten verwendet wird.
Für gewöhnlich wird Procmail von einem Mail Transfer Agent (MTA) wie zum Beispiel Sendmail oder Postfix aufgerufen. Durch Procmail kann dann eine Vorsortierung eingehender E-Mail-Nachrichten in Ordner realisiert werden. Dabei können E-Mails anhand diverser Eigenschaften gefiltert werden, wie zum Beispiel:
- Absenderadresse
- Empfänger
- Betreffzeile
- Zugehörigkeit zu einer Mailingliste
- Inhalt der E-Mail
- Spam (im Verbund mit Spamerkennungsprogrammen wie SpamAssassin)
Zu diesem Zweck bedient sich Procmail unter anderem regulärer Ausdrücke. Procmail verfügt weiterhin über die Fähigkeit, externe Programme aufzurufen oder aber automatisiert auf E-Mails zu antworten; so lassen sich beliebte Features wie Weiterleitungen, Autoresponder oder Urlaubsschaltungen implementieren.
Um E-Mails in bereits bestehende Mailboxen zu filtern, liefert Procmail das Hilfsprogramm formail mit.
Inhaltsverzeichnis |
[Bearbeiten] Beispiel
Das folgende Beispiel einer Procmail-Steuerdatei (meist .procmailrc) scannt eingehende Mails mit SpamAssassin und filtert sie anschließend.
:0fw
| /usr/bin/spamassassin
:0H
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*
/dev/null
:0H:
* ^X-Spam-Status: Yes
./Spam
:0 leitet eine Filterregel ein. Das angefügte fw der ersten Regel sorgt dafür, dass Procmail wartet, bis das Programm fertig ist. Das angefügte H der beiden folgenden Regeln sorgt dafür, dass nur die Header der E-Mail durchsucht werden. Ein abschließender Doppelpunkt weist Procmail an, File-Locking zu verwenden. Das ist immer dann notwendig, wenn nicht sichergestellt ist, dass die Regel mehrfach parallel ausgeführt werden kann. Zum Beispiel wenn eine Mail in eine bestimmte mbox-Datei einsortiert werden soll, bei der durch gleichzeitige Zugriffe ein Datenverlust entstehen würde.
Zur Erklärung: Zuerst wird die E-Mail mittels einer Pipe an das Programm spamassassin gesendet und gewartet, bis das Programm fertig ist. Die nun gescannte Mail durchläuft die nächsten Filterregeln. SpamAssassin fügt gesichteten E-Mails den Header X-Spam-Status hinzu, der je nach eingestellter Schwelle Yes (für erkannten Spam) oder No (für nicht als Spam erkannte Nachrichten) lautet. Des Weiteren fügt SpamAssassin einen Header hinzu, der aus *-Zeichen besteht. Die Anzahl der Zeichen steht dabei für den abgerundete Score (d. h. Wahrscheinlichkeit, dass die Nachricht Spam ist) der E-Mail. Der Score, nach dem eine Nachricht als Spam bewertet wird, liegt standardmäßig bei 5.
Das Beispiel filtert nach der Anzahl der Zeichen. Findet Procmail zehn oder mehr *-Zeichen, so wird die E-Mail im Nulldevice abgespeichert und somit verworfen. Wird eine Nachricht generell als Spam erkannt, so wird die Nachricht im Verzeichnis Spam abgespeichert. Alle anderen E-Mails werden in der normalen Inbox abgeliefert.
[Bearbeiten] Literatur
- The Procmail Companion, Martin McCarthy, Addison-Wesley, S. 256, November 2001, ISBN 0201737906
- Procmail, Chris Lindsey, S. 325, April 2001, ISBN 1565925408