Procmail ist ein Programm, das während der Verarbeitung eingehender Mails auf dem Mailserver des ZDV invoziert wird (damit der Mailserver im WSI es benutzt, muss man es von Hand invozieren). Falls auf dem dortigen Home-Verzeichnis die Datei
~/.procmailrc
existiert, so befolgt Procmail die dort verzeichneten Anweisungen.
In dieser Datei können Zuweisungen von Umgebungsvariablen und
sogenannte "recipes" stehen.
Recipes sind Rezepte zur Verarbeitung von Mails. Sie enthalten je eine
Bedingung, die eine Mail erfüllen muss, um nach dem aktuellen Rezept
verarbeitet zu werden und dann die Anweisung, was mit der Mail geschehen soll.
Wenn ein solches Rezept im Ausführungsfalle eine Mail (Header oder
Korpus) an eine Mailadressse verschickt, sie in eine Datei schreibt,
oder sie einem anderen Programm zur Verfügung stellt, nennt man es ein
delivering recipe, sonst ein non-delivering recipe.
Erhält der Mailserver eine neue Mail, so werden die Rezepte in der
Datei .procmailrc nacheinander abgearbeitet. Nach dem ersten
zutreffenden delivering Recipe beendet Procmail die Ausführung
automatisch, weil die Mail als verschickt angesehen wird. Wird eine
Mail von keinem der Rezepte betroffen, so schickt Procmails sie an den
Default-Mailfolder weiter (Auf dem ZDV: die Inbox, am WSI auch). Man
kann Procmail auch von einem delivering recipe erzählen, es sei
non-delivering (z.B. um eine Carbon Copy zu generieren), indem man die
flag c setzt (s.u. nächster Node).