Courier-IMAP: eMail Sortierung mit procmail
Eine serverseitige Sortierung von eMails ist sehr praktisch, da sie unabhängig von den Clients arbeitet und daher direkt beim Erhalt der eMail schon sortiert und nicht erst dann, wenn der Client mit der vordefinierten Regal an die Mail kommt.
Courier IMAP kann relativ leicht mitgeteilt werden, dass es ab sofort nicht direkt an die Maildirs der Benutzer ausliefert, sondern an procmail. Procmail selbst entscheidet dann, in welchen Ordner im Maildir die eMail zugestellt werden soll.
Courier IMAP unterstützt zudem die IMAP-Idle Funktionalität bis in die einzelnen Folders, sodass weiterhin (sofern der Client dies auch unterstützt) die Mails auf die Endgeräte gepusht werden können.
Konfiguration von Courier-IMAP
Zuerst ist es ratsam, Courier-IMAP zu konfigurieren. Unter Ubuntu 10.04 (Lucid Lynx) sind folgende Änderungen in der /etc/courier-imap/imapd empfohlen:
[code]#Clients können dieselben Verzeichnisse gleichzeitig öffnen
IMAP_ENHANCEDIDLE=1
#Zwingend erforderlich bei IMAP_ENHANCCEDIDLE=1
IMAP_USELOCKS=1
#Push in allen Verzeichnissen
IMAP_CHECK_ALL_FOLDERS=1
[/code]
Courier-Imap kurz neustarten
[code]service courier-imap restart[/code]
Procmail einrichten
Procmail kann über die Paketverwaltung installiert werden
[code]apt-get install procmail[/code]
Da Courier-IMAP ab sofort nicht mehr direkt die Mails in die Postfächer ausliefert, sondern Procmail dafür angeheuert werden soll, muss dafür in den Mail-Ordnern der jeweiligen Benutzern die .qmail bearbeitet werden. Daher editiert man bspw. die Datei für die eMail Adresse user@domain wie folgt /var/qmail/mailnames/domain/user/.qmail:
[code]| true
| /usr/bin/procmail -m .procmailrc[/code]
Da die .qmail Datei bei Empfang von Mails jedes mal erneut ausgeführt wird, muss courier-imap nicht neugestartet werden
Zusätzlich wird noch die Datei .procmailrc benötigt, die besagt, welche ‚Was tun wenn‘ Regeln ausgeführt werden sollen.
Diese wird genauso unter /var/qmail/mailnames/domain/user/.procmailrc erzeugt:
[code]## Wichtig: alle anderen Mails sollen in den Posteingang
:0 w
./Maildir/[/code]
Die Regeln werden dann darüber eingefügt.
Die Von Filterung
[code]## eMails vom Absender absender@absender.de sollen
## ins Postfach eMailsVonAbsender geschoben werden
:0 w
* ^From:.*absender@absender.de
./Maildir/.eMailsVonAbsender/[/code]
Die An Filterung
[code]## eMails, die an empfaenger@empfaenger.de gesendet wurden
## sollen in das Postfach eMailsAnEmpfaenger geschoben werden
:0 w
* ^TO.*empfaenger@empfaenger.de
./Maildir/.eMailsAnEmpfaenger/[/code]
Die Betreff Filterung
[code]## eMails mit dem Betreff Suchbetreff ins Postfach
## BetreffPostfach schieben
:0 w
* ^Subject:.*Suchbetreff
./Maildir/.BetreffPostfach/[/code]
SpamAssasin Sortierung
[code]# Spam-Mails in den Ordner SPAM verschieben
:0 w
* ^Subject:.\*\*\*\*\*SPAM\*\*\*\*\*\*
./Maildir/.SPAM/[/code]
Sonstige Tipps
Bei den Pfaden zum Postfach aufpassen: Das angegebene Postfach muss mit einem / enden
Regeln können mittels | auch kombiniert werden (Oder Kombinationen). Beispiel: * ^TO.*empfaenger@empfaenger.de|^TO.*empfaenger2@empfaenger.de
Postfächer werden mit . getrennt, daher : ./Maildir/.Directory.Subdirectory.SubSubDirectory/
Zu guter letzt…
Funktioniert dann idealerweise die Procmail Sortierung.
One Response
[…] der Anleitung von codarbyte.de ist zunächst der Courier-IMAP-Server vorzubereiten. Dazu werden folgende Optionen in […]