Verwaltung von Mail-Verkehr
Bewertung 3Die Kandidaten sollten in der Lage sein, auf Clients Mailmanagement-Software zu implementieren, um eingehende Mails zu filtern, zu sortieren und zu kontrollieren. Dieses Lernziel beinhaltet die Verwendung von Software wie procmail sowohl server- wie auch client-seitig.
Schlüsseldateien, Begriffe und Hilfsmittel beinhalten:
- procmail
- .procmailrc
Procmail ist ein Programm, das für die lokale Versendung von E-Mail auf dem System zuständig ist. Jeder User kann damit eigene Regeln erstellen, die dann vom MTA abgearbeitet werden.
In den meisten Fällen (sendmail, exim,...) wird procmail automatisch aufgerufen, um lokale Mail zu bearbeiten. Sollte das nicht der Fall sein, so kann in der .forward Datei im Homeverzeichnis jedes Users die folgende Zeile eingefügt werden um procmail zu starten.
"|/usr/bin/procmail"Die Konfigurationsdatei ~/.procmailrc
In der Datei $HOME/.procmailrc werden die Grundeinstellungen eingetragen und Regeln formuliert, die dann die weitere Verarbeitung der Mails steuern. Um mehr Übersichtlichkeit zu erhalten, können die Regeln auch in andere Dateien ausgelagert werden, die dann mittels der AnweisungINCLUDERC=Dateinameeingebunden werden. Auf diese Weise können sehr schnell bestimmte Regeln deaktiviert werden, indem die entsprechende Zeile einfach auskommentiert wird. (Kommentare wie üblich durch ein #-Zeichen)Wichtige Einstellungen in der Konfigurationsdatei sind
- LOGFILE=Datei
- Angabe der Datei, in die procmail sein Logbuch schreibt.
- Verbose=yes
- Nur für die Fehlersuche. Ausgiebiges Logbuch
- MAILDIR=Verzeichnis
- Das Mailverzeichnis des Users (gewöhnlich $HOME/Mail).
Bei all diesen Einstellungen handelt es sich um einfache Umgebungsvariablen, auf die entsprechend mit einem führenden Dollar-Zeichen wieder zugegriffen werden kann. Es ist also auch möglich beliebige andere Variablen zu setzen und zu nutzen.
Dem folgen entweder einzelne Regeln oder die Angabe von einzubindenden Regeldateien oder beides.
Aufbau von Regeln
Jede Regel folgt strikt einem klar definierten Format::0 [Flags] [ : [Lockfile] ] *<Eine oder mehrere Bedingungen (eine pro Zeile) > <Genau eine Aktion >Jede Bedingungszeile beginnt mit einem Sternchen, alles, was danach kommt wird als regulärer Ausdruck interpretiert. Trifft ein solcher Ausdruck zu, so wird die Aktion ausgeführt. Mehrere Bedingungen sind durch ein logisches UND verbunden. Ist keine Bedingung angegeben, so wird die Regel immer angewandt.Die wichtigsten optionalen Flags der ersten Zeile haben folgende Bedeutung:
- H
- Der Header der Mail wird durch den regulären Ausdruck untersucht (voreingestellt).
- B
- Der Body der Mail wird durch den regulären Ausdruck untersucht.
- D
- Unterscheidung zwischen Groß- und Kleinschreibung wird aktiviert. Ohne diesen Flag ist sie ausgeschalten.
- C
- Die Mail wird an die angegebene Aktion weitergeleitet, die Abarbeitung der RC-Datei wird aber nicht beendet. So ist es möglich, eine Mail von mehrere Regeln bearbeiten zu lassen.
Es gibt noch viele weitere Flags, die der Handbuchseite von procmailrc zu entnehmen sind.
Die Bedingungen beginnen mit einem Sternchen. Danach folgt ein regulärer Ausdrück, der ein paar mailspezifischen Erweiterungen enthalten darf:
- ^TO_
- Dieser Ausdruck trifft auf alle Zeilen zu, die mit einem To, Cc, Bcc oder Resent-To beginnen. Damit ist es also möglich, auf alle denkbaren Empfänger-Angaben zu reagieren.
- ^FROM_DAEMON
- Dieser Ausdruck trifft auf alle Zeilen zu, die offensichtlich von Mailer-Daemonen oder Mailinglisten kommen. Dazu zählen gefundene Worte wie Mailing-List, To: Multiple recipients of, X-Envelope-From und viele mehr.
- ^FROM_MAILER
- Ähnlich wie FROM_DAEMON, nur ohne Mailinglisten.
Die Aktionen bestehen hauptsächlich aus Datei- oder Verzeichnisnamen (Verzeichnisnamen enden mit einem Slash, Dateinamen nicht) und meinen, dass die Mail, auf die die Bedingung zutrifft, in diese Maildatei bzw. das Mailverzeichnis angehängt werden soll. Die Dateinamen beziehen sich auf das in der Variable MAILDIR angegebene Verzeichnis (typischerweise $HOME/Mail).
Beginnt die Aktion jedoch mit einem Pipe-Symbol (|) dann wird die Mail an das dem Pipe-Symbol folgende Programm weitergeleitet.
Beginnt die Aktion mit einem Ausrufungszeichen, gefolgt von einer oder mehreren E-Mail Adressen, so wird die Mail an diese Adressen geforwarded.
Links zum Thema Procmail
- PROCMAIL QUICK START (sehr gute Schnellanleitung in Englisch)
- Eine FAQ zu procmail
- Quickref
[ Zurück zur Startseite LPI 201 ] [ Zurück zur LPI-Seite ] [ Zurück zur Hauptseite von Linux-Praxis ] [ Guestbook ] [ Kontakt ]
Diese und die darunterliegenden Seiten wurden erstellt von F. Kalhammer
© 2001 by F.Kalhammer -
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License..