<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body><p style="margin-top:12;margin-bottom:12;margin-left:0;margin-right:0;">Hallo zusammen,</p>
<p style="margin-top:12;margin-bottom:12;margin-left:0;margin-right:0;">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.</p>
<p style="margin-top:12;margin-bottom:12;margin-left:0;margin-right:0;"><strong>Situation:</strong></p>
<ul type="disc">
<li>Die Maildirs liegen unter <span style="font-family:Hack;">/var/vmail/<domain>/<user>/</span> und enthalten bereits versteckte Ordner (Linux-Punkte-Präfix), z. B.:</li>
</ul>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> <span style="background-color:#ffffff;"><span style="font-family:monospace;"><span style="color:#000000;">drwx------ 5 vmail vmail 4096 3. Nov 09:15 </span><span style="color:#5454ff;"><strong>.Archive</strong></span><span style="color:#000000;"> </span></span></span><br />drwx------ 2 vmail vmail 8208384 3. Dez 10:19 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>cur</strong></span><span style="color:#000000;"> </span></span><br />-rw------- 1 vmail vmail 0 5. Sep 2018 dovecot-acl-list <br />-rw------- 1 vmail vmail 3012760 3. Dez 07:40 dovecot.index <br />-rw------- 1 vmail vmail 98341764 3. Dez 10:19 dovecot.index.cache <br />-rw------- 1 vmail vmail 26980 3. Dez 10:19 dovecot.index.log <br />-rw------- 1 vmail vmail 32912 2. Dez 19:27 dovecot.index.log.2 <br />-rw------- 1 vmail vmail 1248183 30. Nov 19:33 dovecot.index.thread <br />-rw------- 1 vmail vmail 127 29. Mai 2021 dovecot-keywords <br />-rw------- 1 vmail vmail 80024 3. Dez 02:43 dovecot.list.index <br />-rw------- 1 vmail vmail 7024 3. Dez 10:23 dovecot.list.index.log <br />-rw------- 1 vmail vmail 1416 1. Dez 19:33 dovecot.mailbox.log <br />-rw------- 1 vmail vmail 4128 6. Mai 2021 dovecot.mailbox.log.2 <br />-rw------- 1 vmail vmail 0 25. Okt 00:18 .dovecot-sync.lock <br />-rw------- 1 vmail vmail 5093067 3. Dez 10:19 dovecot-uidlist <br />-rw------- 1 vmail vmail 8 31. Okt 18:22 dovecot-uidvalidity <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffacd <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffbee <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffbef <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffbf3 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc26 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc27 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2a <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2b <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2c <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2d <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2e <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc2f <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc31 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc32 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc33 <br />-r--r--r-- 1 vmail vmail 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc65 <br />-r--r--r-- 1 vmail 1002 0 5. Sep 2018 dovecot-uidvalidity.5b8ffc67 <br />drwx------ 5 vmail vmail 4096 3. Nov 09:15 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.Drafts</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 3. Nov 09:15 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.2bplayed</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 3. Nov 09:15 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.7pass</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 3. Nov 09:15 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.7until7</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 3. Dez 05:08 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.abbyy</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 24. Okt 23:51 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.abbyy1</strong></span><span style="color:#000000;"> </span></span><br />drwx------ 5 vmail vmail 4096 24. Okt 23:57 <span style="background-color:#ffffff;"><span style="color:#5454ff;"><strong>.INBOX.abelsoft</strong></span></span></p>
<ul type="disc">
<li>Diese Struktur existiert seit Jahren und darf nicht verändert werden.</li>
</ul>
<p style="margin-top:12;margin-bottom:12;margin-left:0;margin-right:0;"><strong>Problem:</strong></p>
<ul type="disc">
<li>Wir möchten Namespaces konfigurieren, um Clients Special-Use-Mailboxen (<span style="font-family:Hack;">\Sent</span>, \Trash, \Junk, \Drafts) zuzuweisen.</li>
<li>Mit einer Namespace-Konfiguration wie:</li>
</ul>
<p style="margin-top:12;margin-bottom:0;margin-left:0;margin-right:0;">namespace inbox {</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> inbox = yes</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> prefix = ""</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> separator = .</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> type = private</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> mailbox Drafts { auto = subscribe special_use = "\Drafts" }</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> mailbox Junk { auto = subscribe special_use = "\Junk" }</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> mailbox Sent { auto = subscribe special_use = "\Sent" }</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> mailbox Trash { auto = subscribe special_use = "\Trash" }</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"> mailbox Archive{ auto = subscribe }</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">}</p>
<br /><ul type="disc">
<li>Dovecot erzeugt <strong>neue leere Ordner</strong> (Drafts, Junk, Trash, Sent, Archive)</li>
<li>Die vorhandenen Ordner .Trash, .Sent, .Junk, .Drafts, .Archive, .INBOX.* werden <strong>nicht angezeigt</strong></li>
</ul>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;"><strong>Analyse:</strong></p>
<ul type="disc">
<li>Dovecot 2.4 kann bestehende „hidden“ Maildirs (.-Prefix) nicht automatisch auf Standard-Mailboxen mit special_use mappen.</li>
<li>Option auto = subscribe führt dazu, dass Dovecot neue Ordner erstellt, wenn der Name auf dem Dateisystem nicht exakt mit dem Namespace übereinstimmt.</li>
<li>INBOX-Unterordner wie .INBOX.Fail2ban und .INBOX.vzdump werden durch Prefix/Namespace-Konfiguration nicht korrekt erkannt.</li>
</ul>
<p style="margin-top:12;margin-bottom:12;margin-left:0;margin-right:0;"><strong>Schlussfolgerung:</strong></p>
<ul type="disc">
<li>Auf Produktionsservern, auf denen eine bestehende hidden Maildir-Struktur existiert, <strong>dürfen keine Standard-Mailboxen mit auto = subscribe und special_use konfiguriert werden</strong>, da dies zu „neuen“ leeren Ordnern führt und die Clients die alten Ordner nicht sehen.</li>
<li>Die einzige sichere Lösung ist, den Namespace <strong>nur als Root (prefix = "") zu definieren</strong>, <strong>keine Standard-Mailboxes anzulegen</strong> und Dovecot alle bestehenden Ordner erkennen zu lassen.</li>
</ul>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Gibt es eine Möglichkeit in Dovecot 2.4, <strong>bestehende hidden Maildirs automatisch korrekt als Special-Use-Mailboxes zu mappen</strong>, ohne neue Ordner zu erzeugen?</p>
<p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Alternativ: Best Practices für <strong>Produktionsserver mit langjähriger hidden Maildir-Struktur</strong>, die von allen Clients korrekt dargestellt werden soll?</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Vielen Dank für jede Hilfe!</p>
<br /><p style="margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;">Andreas</p>
</body>
</html>