Shared Folders mit Dovecot 2.4
Ein nettes Feature sind die Shared Folders von Dovecot - die liefen auf meinem "alten" Server bis dann das Update auf Dovecot 2.4 kam. Leider hat sich damit auch die Syntax stark verändert. Und hier war die KI dann nicht sehr hilfreich, weil sie immer wieder Config-Dateien mit der alten 2.2er Syntax vorschlug und teils auch mit der 2.4er mischte. Also wieder selbst nachschauen - hat aber auch funktioniert, und war auch schneller.
Vorbereitung
Hierfür habe ich mir mit PostfixAdmin einen zusätzlichen AccountSharedUserangelegt. Da können dann auch Mails
draufgeschickt werden, aber in erster Linie dient er bei mir als Ablage für Mails, die mehrere Nutzer betreffen.
Im Unterverzeichnis /var/vmail/domain.tld/SharedUser/Maildirwird zum Beispiel mitmkdir Stadtwerkeein Ordner
für die Korrespondenz mit den Stadtwerken angelegt. Dazu kommen noch die 3 IMAP-Unterordnercur, newundtmp
Mitchown vmail:vmail Stadtwerkeund einemchmod 750 Stadtwerkewerden noch die Besitz- und Zugriffsrechte
entsprechend angepasst.
Dovecot Einstellungen
Dann der wichtigste Teil: die Anpassung der Datei /etc/dovecot/conf.d/15-mailboxes.conf. Den Code-Block einfach ganz am Ende der Datei anhängen.
# ACL-Plugin global aktivieren, falls noch nicht geschehen
mail_plugins = acl
# Ihr bestehender privater Namespace (Pflicht)
namespace inbox {
type = private
separator = /
prefix =
inbox = yes
}
# Neuer globaler Public Namespace
namespace public_shared {
type = public
separator = /
prefix = 00_Gemeinsame Ordner/ # Das taucht nachher im Mailprogramm als
# Übergeordneter Ordner auf
# Das 00_ davor sorgt dafür, daß der Ordner in
# z.B. Thunderbird recht weit oben auftaucht -
# kann man machen, muss man nicht.
# Speicherort im Dateisystem (angepasst an Ihr Layout, z. B. Maildir)
mail_driver = maildir
mail_path = /var/vmail/domain.tld/SharedUser/Maildir
mail_index_private_path = ¨/Maildir/public
mail_plugins = acl
# Verhindert, dass Benutzer globale Abonnements gegenseitig überschreiben
subscriptions = no
# Listet den Ordner in der Ordnerliste auf, auch wenn er leer ist
list = children
}
Theoretisch kann man natürlich auch irgendeinen Ordner als SharedFolder nehmen, der irgendwo auf der Platte liegt.
Der muss dann inmail_patheingetragen werden und wie oben beschrieben dem User vmail zugeordnet werden.
Weitere Einstellungen
Je Unterordner muss noch die Freigabe geklärt werden, wer was darf. Das passiert über die Dateidovecot-acl.
Es können beliebig viele Unter- und Unter-Unterordner unter/var/vmail/domain.tld/SharedUser/Maildirangelegt werden,
aber in jedem muss diedovecot-aclliegen. In der Datei werden entweder alle freigegeben
authenticated lrwstipekx
oder nur einzelne User (die auf dem Mailserver existieren müssen).
user=user1@domain.tld lrwstipekx
user=user2@domain.tld lrwstipekx
Der Buchstabensalat am Ende der Zeile beschreibt, was für den Nutzer erlaubt ist.Nach einem Neustart von Dovecot mit
systemctl restart dovecotsollten die Gemeinsamen Ordner dann bei Thunderbird
in der Abonnieren-Liste auftauchen und abonniert werden können. Dann können z.B. Mails darein geschoben werden oder eintreffende Mails
an SharedUser@domain.tld per Sieve Filter in die entsprechenden Ordner verteilt werden.