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] (aktuell) 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.