Bei alten IMAP-Servern unter Dovecot (getestet hier mit Dovecot 1.0.beta3, ca 2006) wurde beim Sieve-Plugin dazu geraten, den ganzen Dovecot selber zu bauen → Nachteil: Aufwendig, und Auto-Updates usw. funktionieren auch nicht mehr.
Gesucht war also eine Alternative … hier ein sehr einfaches Beispiel für Maildrop.
Maildrop ist eine Komponente des Courier-Mailservers, lässt sich aber auch ohne Courier installieren und verwenden.
Unschön: es gibt bei Suse (10.1) kein unabhängiges RPM für Maildrop.
Sehr schön: das herunterladbare Original-TAR-Archiv 1) ist kein RPM, lässt sich aber direkt in ein solches umbauen:
rpmbuild -ta maildrop-2.0.3.tar.bz2
2)
Im üblichen RPM-Fertigbau-Verzeichnis 3) findet sich bei Erfolg eine neue RPM-Datei, bei mir hiess maildrop-2.0.3-1.x86_64.rpm -
die per rpm -ihv / pfad/pfad/mairldrop-*.rpm
installieren.
Nachtrag 2008-02-26: RPM-Paketbau funktioniert mit Suse 10.3 und maildrop-2.0.4-1 genauso
Es gibt diverse Möglichkeiten, ich wollte die ganze local delivery bei den bisherigen Mechanismen (LMTP) lassen.
Hier meine Low-Tech Nix-Änder-Variante: (nur mein Benutzer ist betroffen)
Mit .forward
kann man E-Mails an andere Adressen oder auch an lokale Befehle weiterleiten (wenn der Admin das erlaubt).
$HOME/.forward
:
"|/usr/bin/maildrop -A 'X-maildrop: sorted'"
Ankommende Mail wird an das Programm maildrop
weitergeleitet. Dabei wird die Headerzeile "X-maildrop: sorted" oben in die Mail eingefügt (das ist hier nicht nötig, ausser um den Spieltrieb zu befriedigen ).
Was soll jetzt Maildrop mit der Mail tun? Das steht in der Datei
$HOME/.mailfilter
:
# normale inbox: MD="/home/username/Maildir" # Mail an meine alte Maildomain (nahezu nur spam) mdOLDdomain="$MD/.INBOX.OLDdomain" if ( /^To:.*old.org/ ) { to $mdOLDdomain } # Mail aus der Arbeit mdWork="$MD/.INBOX.work" if ( /^From:.*firma.de/ ) { to $mdWork } # andere Mail in die normale INBOX to $MD
Ich verwende Maildir als Speichermethode für Mails, Maildrop kann aber auch MBOX.
Mail an alle Adressen, die mit "old.org" enden, sollen in den Maildir-Ordner /home/username/Maildir/.INBOX.OLDdomain
verschoben werden (das ist in der INBOX
der Unterordner OLDdomain
, wenn man mit IMAP zugreift - zumindest in meiner Dovecot-Installation).
Mail an alle Adressen, die mit "*firma.de" enden, bitte in den Maildir-Ordner /home/username/Maildir/.INBOX.work
ablegen (IMAP: INBOX/work
).
Alle anderen Mails sollen ganz normal in der INBOX gespeichert werden (Maildir-Ordner /home/username/Maildir
)
Der Weg über .forward ist kein Muß: Wenn es auf Performance ankäme, oder Mails für alle Benutzer sortiert werden sollten, liesse sich Maildrop auch ohne Umweg über Postfix integrieren … Ich wollte aber für meine private Mailsortiererei nicht den LMTP (Postfix Mailausliefer-Mechanismus für lokale Mails) ersetzen (oder im Zweifelsfall ein Bein stellen).
Vorteile:
Nachteile:
gilt für alle Tipps, Tricks & Spickzettel:
dies sind einfache, teils banale Notizen für meinen persönlichen Gebrauch,
die hier eher zufällig auch öffentlich lesbar sind
(vielleicht hilft es ja jemandem weiter). Verwendung auf eigene Gefahr
Fehler-Hinweise, Dankesschreiben , etc. bitte an: web.21@unixwitch.de
weitere Tools / Spickzettel
/usr/src/packages/RPMS/
, nur als root schreibbar, besser eigene RPM-Bauumgebung basteln, siehe selflinux zur rpmbuild-Umgebung