Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:mailserver:dovecot [2012/12/07 11:32] khopf angelegt |
software:mailserver:dovecot [2017/01/10 22:49] khopf |
||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
===== Gemeinsame Mailverzeichnisse (Shared Folders) ===== | ===== Gemeinsame Mailverzeichnisse (Shared Folders) ===== | ||
http://blog.sentico.nl/2010/dovecot-public-folders-with-group-acls/ | http://blog.sentico.nl/2010/dovecot-public-folders-with-group-acls/ | ||
+ | |||
+ | ===== Umwandlung Maildir in mdbox ===== | ||
+ | |||
+ | Es gibt [[https://wiki2.dovecot.org/MailboxFormat|mehrere Formate]], die Dovecot verwenden kann, um die Postfächer zu speichern. Für virtuelle Postfächer oder große Postfächer sollte das Dovecot-eigene //mdbox//-Format verwendet werden. Um //Maildir//-Postfächer umzuwandeln kann man sich an folgende Anleitung halten((Mehr Infos auch unter https://www.heinlein-support.de/sites/default/files/Dovecot-mdbox-Mailperformance_0.pdf und https://wiki2.dovecot.org/Migration/MailFormat)). | ||
+ | |||
+ | ''mdbox'' sieht Im Dateisystem z.B. so aus: | ||
+ | |||
+ | ./ | ||
+ | ../ | ||
+ | dovecot.index | ||
+ | dovecot.index.cache | ||
+ | dovecot.index.log | ||
+ | dovecot.mailbox.log | ||
+ | dovecot-uidlist | ||
+ | dovecot-uidvalidity | ||
+ | dovecot-uidvalidity.4fd99aa1 | ||
+ | mailboxes/ | ||
+ | storage/ | ||
+ | subscriptions | ||
+ | |||
+ | Maildir sieht z.B. so aus: | ||
+ | |||
+ | ./ | ||
+ | ../ | ||
+ | cur/ | ||
+ | .INBOX.Archives/ | ||
+ | .Gel&APY-schte Elemente/ | ||
+ | .Gesendete Elemente/ | ||
+ | .Junk-E-Mail/ | ||
+ | new/ | ||
+ | .Sent/ | ||
+ | tmp/ | ||
+ | .Trash/ | ||
+ | |||
+ | In der Dovecot-Konfiguration muss der Mailbox-Typ auf automatisch gestellt werden, damit Dovecot sowohl mit //Maildir// und mdbox Postfächern umgehen kann. Dies passiert in ''/etc/dovecot/conf.d/10-mail.conf''. Später kann man nur noch //mdbox// verwenden: | ||
+ | #mail_location = maildir:/srv/vmail/%d/%u/ | ||
+ | mail_location = auto:/srv/vmail/%d/%u/ | ||
+ | #mail_location = mdbox:/srv/vmail/%d/%u/ | ||
+ | |||
+ | Falls der Mailserver in der Zeit der Umwandlung nicht benötigt wird, sollte man den Postfix beenden, damit während der Umwandlung keine neuen Mails eingehen. | ||
+ | sudo service postfix stop | ||
+ | |||
+ | Nun benennt man das alte //Maildir//-Verzeichnis um | ||
+ | sudo mv /srv/vmail/domain/[postfach] /srv/vmail/[domain]/[postfach]_maildir | ||
+ | |||
+ | Anschließend erstellt man ein neues Verzeichnis für //mdbox// und passt die Besitzrechte an | ||
+ | sudo mkdir /srv/vmail/[domain]/[postfach] | ||
+ | sudo chown vmail:vmail /srv/vmail/[domain]/[postfach] | ||
+ | |||
+ | Nun wird ''dsync'' angewendet: | ||
+ | sudo dsync -u [postfach] -fvR mirror maildir:/srv/vmail/[domain]/[postfach]_maildir | ||
+ | |||
+ | Anmerkungen zu diesem Befehl: | ||
+ | * ''[postfach]'' muss der Anmeldename sein, der bei der IMAP Anmeldung verwendet wird, es wird dann über Dovecot das korrekte Postfach gesucht und verwendet. Deshalb darf der Dovecot-Dienst nicht beendet werden. | ||
+ | * Die Option ''-f'' bewirkt eine volle Synchronisierung, ''-v'' (verbose) gibt Informationen zum Abgleich-Prozess aus, ''-R'' sagt, dass vom Ziel zum Ursprung synchronisiert wird (sollte keine Auswirkung haben, wenn man die Option weglässt) | ||
+ | |||
+ | Die Umwandlung kann auch andersherum gemacht werden: | ||
+ | sudo mkdir user@domain_mdbox | ||
+ | sudo chown vmail:vmail user@domain_mdbox | ||
+ | dsync -u user@domain -fv mirror mdbox:/srv/vmail/domain/user@domain_mdbox | ||
+ | sudo mv user@domain user@domain_maildir | ||
+ | sudo mv user@domain_mdbox user@domain | ||
+ | |||
+ | **Achtung:** Wenn die [[https://wiki2.dovecot.org/MailboxFormat/dbox|Verzeichnisstruktur von mdbox]] in einem Verzeichnis existiert, erkennt Dovecot mit der Einstellung ''auto:'' nur noch das //mdbox//-Format und nicht mehr das //Maildir//-Format. Wurde die Synchronisierung fälschlicherweise so aufgerufen, dass Dovecot in dem Mailverzeichnis die //mdbox//-Dateien erstellt hat, muss man sie manuell löschen oder in ein neues Verzeichnis verschieben. | ||
+ | |||
+ | ===== Problem: Gemischte Postfächer mit der Dovecot Auto-Erkennung ===== | ||
+ | |||
+ | Leider funktioniert in Dovecot 2.0.19 die automatische Erkennung des Postfach-Formats mit ''mail_location = auto:/...'' nicht wie erwartet, sodass Dovecot Mails im mdbox-Format abspeichert und liest, obwohl das Postfach im Maildir-Format vorliegt. Für den Nutzer sind dann alte E-Mails nicht mehr sichtbar. Hier eine Anleitung, wie man "gemischte" Mailboxen entzerrt und in das ''mdbox''--Format umwandelt: | ||
+ | |||
+ | Wenn Verzeichnis Teile eines Maildir-Verzeichnisses enthält(*), dann | ||
+ | |||
+ | - Postfach / alle Postfächer in der Domain sichern | ||
+ | - Alle Verzeichnisse "cur", "tmp", "new", ".*" in ein neues Verzeichnis ''[mailbox]_maildir" verschieben | ||
+ | - Verzeichnisse "mailboxes" und "storage" in dem neuen ''mdbox''-Postfach anlegen | ||
+ | - Zugriffsrechte auf den Dovecot-Nutzer übertragen | ||
+ | |||
+ | Beispiel-Befehle: | ||
+ | #Sichern | ||
+ | sudo tar -czf /srv/vmail/[domain]/media/backup/[datum]_sic_[domain].tgz | ||
+ | | ||
+ | #Verzeichnisse erstellen und Rechte anpassen | ||
+ | sudo mkdir [mailbox]_maildir | ||
+ | sudo chown vmail:vmail [mailbox]_maildir | ||
+ | | ||
+ | #Dateien verschieben | ||
+ | cd [mailbox] | ||
+ | sudo mv sudo mv cur new tmp .Sent .Trash ../[email]_maildir/ | ||
+ | |||
+ | #prüfen, ob Verzeichnisse für mdbox vorhanden sind | ||
+ | ls -la | ||
+ | sudo mkdir storage | ||
+ | sudo mkdir mailboxes | ||
+ | sudo chown vmail:vmail * | ||
+ | |||
+ | #Synchronisation zur Sicherheit 2x ausführen | ||
+ | sudo dsync -R -f -v -u [mailbox] mirror maildir:/srv/vmail/[domain]/[mailbox]_maildir/ | ||
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.