Home Directories for Virtual Users und Sieve-Filter im Linux-Homedir?

toml at thlu.de toml at thlu.de
Mi Jul 12 23:33:40 CEST 2017


Hallo

Weil ich in  meinem "Project" mit procmail bisher offensichtlich ein 
Programm verwende, bei dem sogar der Entwickler empfiehlt, besser nach 
einer Alternative zu suchen, wie ich jetzt im anderen Thread erfahren 
habe, will ich das zur Sicherheit auch tun.

Zuerst hatte ich noch mal über Maildrop nachgedacht, aber mich dann 
gefragt, warum nicht gleich die Features von Dovecot nutzen. Besser wird 
man es eh nicht machen können. Also sammele ich jetzt bereits seit 
Stunden Infos über „Sieve“. Allerdings hänge ich jetzt in ner Sackgasse 
ohne Wendemöglichkeit fest. Ich kriege ein Problem nicht aufgelöst. Und 
zwar fehlt mir gleich an mehreren Stellen die notwendige Verbindung vom 
virtuellen User aus der Userdb zum Linux-Homedir des Users… in dem ja 
bisher jeweils seine .procmailrc gespeichert war. Ich hoffe, dass ich 
jetzt auch den Sieve-Filter dort ablegen kann, der eine von Getmail 
abgeholte Mails dieses Users in das entsprechende Postfach verschiebt. 
Nur weiss ich nicht, wie ich das zum User gehörenden Homedir finde, wo 
ja der Filter liegt.

Mein jetziges Problem ist der User-Parameter, den ich bisher in der 
getmail.conf an den external MDA procmail übergeben habe, und zwar für 
alle meine Postfächer einfach den Linux-User „thomas“. Procmail hat 
meine .procmailrc in meinem Linux-Homedir geöffnet und die Mail einfach 
in die passenden Postfächer verschoben.
Aber wenn ich jetzt neu den dovcot-LDA verwende, kann das ja irgendwie 
nicht gehen… der kennt ja nur die virtuellen User aus der Userdb, der 
könnte mit dem Getmail-ExtMDA-Parameter „thomas“ also gar nix anfangen. 
Darüber hinaus definiert die Userdb ja für mich in meinem 
Mail-Verzeichnis (/media/SSD/Mail/thomas) gleich mehrere 
Postfach-Unterverzeichnisse.

Wie teile ich also dem dovecot-LDA mit, dass er für verschiedene 
Postfächer mit unterschiedlichen FQDN, die aber alle mir gehören, immer 
den gleichen Sieve-Filter in meinem Linux-Homedir nutzen soll? Diese 
Varianten mit %u, %d/ oder %n können eigentlich nicht funktionieren, da 
sie sich immer auf den Recipient beziehen…. aber Recipient zum 
Linux-User 'thomas' match'ed sich natürlich nicht.

Wie definiere ich diesen Pfad?
     mail_home = /media/SSD/Mail/thomas
oder
     mail_home = /home/thomas
....natürlich flexibel für alle User, damit Sieve den Filter finden kann?

Die nächste Frage ist mir auch unklar …. auf was zeigt '~', wenn 
virtuelle User über die UserDB verwendet werden? Eigentlich müsste das 
ja mein Linux-Homedir sein, aber woher kennt Sieve das? Aus der 
eingehenden Mail geht das nicht draus hervor. In der Userdb stehts auch 
nicht drin. Woher weiss Sieve, in welchen Linux-Homedir der Filter für 
die Mail liegt, die Getmail via seiner getmail.conf jetzt für mich  
abgeholt hat.

plugin {
sieve = ~/.dovecot.sieve
}

Mit procmail wars einfach, es wurde direkt von getmail angesprochen und  
hat einfach direkt -an der userdb vorbei- die Postfächer geschrieben, 
nicht bezogen auf die Empfänger-Adresse, sondern auf den User "thomas", 
mit passenden Pfadangaben. Aber ein analoger Weg mit  Sieve ist mir  
völlig unklar. Jetzt hoffe ich, Ihr helft mir ein wenig, beim 
Rausschieben aus der Sackgasse ;-)

vg, Thomas


ps
Sorry, wenn das jetzt hier ein wenig zu lang ist und viellicht auch 
chaotisch erscheint... ich tue mich schon  einigermaßen schwer damit, 
das Problem zu beschreiben......




Mehr Informationen über die Mailingliste Dovecot