Dovecot 2.3 zu Dovecot 2.4: Problem mit bestehenden hidden Maildirs und Namespace-Konfiguration in Dovecot 2.4

Andreas Günther dovecot.user at linuxmaker.cloud
Mi Dez 3 10:31:39 CET 2025


Hallo zusammen,
wir haben ein Problem mit Dovecot 2.4 auf einem Produktionsserver, bei dem bestehende 
Maildir-Ordner aus Dovecot 2.3 nicht korrekt im IMAP-Client angezeigt werden.
*Situation:*
     *  Die Maildirs liegen unter /var/vmail/<domain>/<user>/ und enthalten bereits 
versteckte Ordner (Linux-Punkte-Präfix), z. B.:
	drwx------   5 vmail vmail        4096  3. Nov 09:15  *.Archive* 
drwx------   2 vmail vmail     8208384  3. Dez 10:19  *cur* 
-rw-------   1 vmail vmail           0  5. Sep 2018   dovecot-acl-list 
-rw-------   1 vmail vmail     3012760  3. Dez 07:40  dovecot.index 
-rw-------   1 vmail vmail    98341764  3. Dez 10:19  dovecot.index.cache 
-rw-------   1 vmail vmail       26980  3. Dez 10:19  dovecot.index.log 
-rw-------   1 vmail vmail       32912  2. Dez 19:27  dovecot.index.log.2 
-rw-------   1 vmail vmail     1248183 30. Nov 19:33  dovecot.index.thread 
-rw-------   1 vmail vmail         127 29. Mai 2021   dovecot-keywords 
-rw-------   1 vmail vmail       80024  3. Dez 02:43  dovecot.list.index 
-rw-------   1 vmail vmail        7024  3. Dez 10:23  dovecot.list.index.log 
-rw-------   1 vmail vmail        1416  1. Dez 19:33  dovecot.mailbox.log 
-rw-------   1 vmail vmail        4128  6. Mai 2021   dovecot.mailbox.log.2 
-rw-------   1 vmail vmail           0 25. Okt 00:18  .dovecot-sync.lock 
-rw-------   1 vmail vmail     5093067  3. Dez 10:19  dovecot-uidlist 
-rw-------   1 vmail vmail           8 31. Okt 18:22  dovecot-uidvalidity 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffacd 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffbee 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffbef 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffbf3 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc26 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc27 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2a 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2b 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2c 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2d 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2e 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc2f 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc31 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc32 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc33 
-r--r--r--   1 vmail vmail           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc65 
-r--r--r--   1 vmail  1002           0  5. Sep 2018   dovecot-uidvalidity.5b8ffc67 
drwx------   5 vmail vmail        4096  3. Nov 09:15  *.Drafts* 
drwx------   5 vmail vmail        4096  3. Nov 09:15  *.INBOX.2bplayed* 
drwx------   5 vmail vmail        4096  3. Nov 09:15  *.INBOX.7pass* 
drwx------   5 vmail vmail        4096  3. Nov 09:15  *.INBOX.7until7* 
drwx------   5 vmail vmail        4096  3. Dez 05:08  *.INBOX.abbyy* 
drwx------   5 vmail vmail        4096 24. Okt 23:51  *.INBOX.abbyy1* 
drwx------   5 vmail vmail        4096 24. Okt 23:57  *.INBOX.abelsoft*
     *  Diese Struktur existiert seit Jahren und darf nicht verändert werden.
*Problem:*
     *  Wir möchten Namespaces konfigurieren, um Clients Special-Use-Mailboxen (\Sent, 
\Trash, \Junk, \Drafts) zuzuweisen.
     *  Mit einer Namespace-Konfiguration wie:
namespace inbox {
  inbox = yes
  prefix = ""
  separator = .
  type = private
  mailbox Drafts { auto = subscribe special_use = "\Drafts" }
  mailbox Junk   { auto = subscribe special_use = "\Junk" }
  mailbox Sent   { auto = subscribe special_use = "\Sent" }
  mailbox Trash  { auto = subscribe special_use = "\Trash" }
  mailbox Archive{ auto = subscribe }
}

     *  Dovecot erzeugt *neue leere Ordner* (Drafts, Junk, Trash, Sent, Archive)
     *  Die vorhandenen Ordner .Trash, .Sent, .Junk, .Drafts, .Archive, .INBOX.* werden *nicht 
angezeigt*
*Analyse:*
     *  Dovecot 2.4 kann bestehende „hidden“ Maildirs (.-Prefix) nicht automatisch auf 
Standard-Mailboxen mit special_use mappen.
     *  Option auto = subscribe führt dazu, dass Dovecot neue Ordner erstellt, wenn der 
Name auf dem Dateisystem nicht exakt mit dem Namespace übereinstimmt.
     *  INBOX-Unterordner wie .INBOX.Fail2ban und .INBOX.vzdump werden durch Prefix/
Namespace-Konfiguration nicht korrekt erkannt.
*Schlussfolgerung:*
     *  Auf Produktionsservern, auf denen eine bestehende hidden Maildir-Struktur existiert, 
*dürfen keine Standard-Mailboxen mit auto = subscribe und special_use konfiguriert 
werden*, da dies zu „neuen“ leeren Ordnern führt und die Clients die alten Ordner nicht 
sehen.
     *  Die einzige sichere Lösung ist, den Namespace *nur als Root (prefix = "") zu 
definieren*, *keine Standard-Mailboxes anzulegen* und Dovecot alle bestehenden 
Ordner erkennen zu lassen.
Gibt es eine Möglichkeit in Dovecot 2.4, *bestehende hidden Maildirs automatisch korrekt 
als Special-Use-Mailboxes zu mappen*, ohne neue Ordner zu erzeugen?
Alternativ: Best Practices für *Produktionsserver mit langjähriger hidden Maildir-
Struktur*, die von allen Clients korrekt dargestellt werden soll?

Vielen Dank für jede Hilfe!

Andreas
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listen.jpberlin.de/pipermail/dovecot/attachments/20251203/97cf4c88/attachment-0001.htm>


Mehr Informationen über die Mailingliste Dovecot