Serverseitige Mail Filter mit Procmail

Unser Mailserver hat die Möglichkeit mails serverseitig zu Filtern und in entsprechende Ordner zu sortieren, sodass Mails auf allen IMAP Clients sofort gleich soritert ankommen. Zum Einrichten der Filter muss man im zetkin homedirectory die Datei .procmailrc anlegen, in der die Filter definiert sind. Eine komplette Referenz der verfügbaren Befehle findet man hier.

Dazu wie man die Mails filtern kann seht euch am besten den Quelltext von ein paar der Mails die ihr filtern wollt durch. Nützlich sind auf jeden Fall Tags im Betreff, der Header Tag List-Id sowie Absender und Emfpänger Adressen. Außerdem sind regular-expressions recht nützlich, mehr infos zu regular expressions findet ihr hier.

Wichtig ist noch, das jeweils die erste zuteffende Regel angewandt wird.

Will man eine Mail auf die eine Regel zutrifft, statt sie in einen Ordner zu verschieben weiterleiten geht das wie hier beschrieben.

Beispiel

Hier folgen einige Regeln aus meiner .procmailrc als Beispiel:


PATH=/usr/local/bin:/usr/bin:/bin
MAILDIR=$HOME/.maildir
DEFAULT=$MAILDIR/
#LOGFILE=$MAILDIR/from
#VERBOSE=yes

# verschiebe Nachrichten von Absendern die auf twitter enden in den socialmedia ordner
:0:
* ^From:.*twitter.com
.socialmedia/

# geschachtelte regelen, für alle mails die den Header Delivered-To tobby@fsmat.at enthalten.
:0
*^Delivered-To:.*tobby@fsmat.at.*
{

# nachrichten die im Betreff [Fachschaften] enthalten verschiebe in den Ordner fsmat > Fachschaften
:0:
*^Subject:.*\[Fachschaften\].*
.fsmat.Fachschaften/

# alle anderen Mails verschiebe in den Ordner fsmat
:0:
.fsmat/
}