Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste Überarbeitung Beide Seiten der Revision | ||
invis_server_wiki:upgrade:imap-migration [2019/02/21 08:50] flacco angelegt |
invis_server_wiki:upgrade:imap-migration [2019/02/21 09:18] flacco [Beliebiger IMAP-Server zu Dovecot] |
||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
===== Beliebiger IMAP-Server zu Dovecot ===== | ===== Beliebiger IMAP-Server zu Dovecot ===== | ||
+ | In diesem Fall ist die Software //**offlineimap**// das Mittel der Wahl, es ist in vermutlich jeder Linux-Distribution enthalten. | ||
+ | |||
+ | //**offlineimap**// benötigt eine Konfigurationsdatei namens <file>.offlineimaprc</file>. Diese muss im Home-Verzeichnis des Users angelegt werden, der die Migration durchführt. In aller Regel dürfte dies der Benutzer **root** sein. Hier ein Beispiel: | ||
+ | |||
+ | <code> | ||
+ | [general] | ||
+ | accounts = privat | ||
+ | maxsyncaccounts = 1 | ||
+ | [Account privat] | ||
+ | remoterepository = Quelle | ||
+ | localrepository = Ziel | ||
+ | [Repository Quelle] | ||
+ | type = IMAP | ||
+ | remotehost = localhost | ||
+ | remoteuser = heinzb | ||
+ | remotepass = password | ||
+ | ssl = no | ||
+ | maxconnections = 1 | ||
+ | readonly = true | ||
+ | |||
+ | [Repository Ziel] | ||
+ | type = IMAP | ||
+ | remotehost = 192.168.42.10 | ||
+ | remoteuser = heinzb | ||
+ | remotepass = p@ssw0rd | ||
+ | ssl = no | ||
+ | maxconnections = 1 | ||
+ | </code> | ||
+ | |||
+ | Gegebenenfalls müssen zwischen Quelle und Ziel Übersetzungen von Ordnernamen stattfinden. Weiterhin können sich die IMAP-Namensräume sowie die unterstützten Zeichensätze beider IMAP-server voneinander unterscheiden. Nachfolgend ein altes Beispiel einer Übersetzungskonfiguration, die Notwendig war um von einem Dovecot-IMAP-Server hin zu einem (alten) Zarafa Server zu migrieren: | ||
+ | |||
+ | <code> | ||
+ | ... | ||
+ | nametrans = lambda foldername: re.sub('^INBOX.Sent$' ,'Gesendete Objekte', | ||
+ | re.sub('^INBOX.Trash$' ,'Gel&APY-schte Objekte', | ||
+ | re.sub('^INBOX.Drafts$', 'Entw&APw-rfe', | ||
+ | re.sub('^INBOX.Junk$', 'Junk E-Mail', | ||
+ | foldername)))) | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | Eingefügt war die Direktive ''nametrans'' in der Konfiguration des Quell-Servers. | ||
+ | |||
+ | **Erläuterung** | ||
+ | |||
+ | Zarafa, wie auch Kopano verwendet lokalisierte Ordnernamen in der Sprache des jeweiligen Postfachs. Weiterhin unterstützte Zarafa kein UTF-8. Innerhalb des IMAP-Setups auf Dovecot-Seite wurden die Standard-Ordner für Entfürfe, Spam und der Papierkorb als Unterordner der Inbox geführt und der Verzeichnistrenner des IMAP-Namensraums ist der Punkt. Auf Zarafa-Seite hingegen liegen die genannten Standardordner parallel zur Inbox auf der gleichen Verzeichnisebene. Alle genannten Unterschiede werden mit der ''nametrans'' Direktive übersetzt. | ||
+ | |||
+ | Letztlich werden ein paar Synchronisationsversuche notwendig sein, bis es reibungslos läuft. | ||
+ | |||
+ | Auf Quellseite muss die Direktive: | ||
+ | |||
+ | <code> | ||
+ | readonly = true | ||
+ | </code> | ||
+ | |||
+ | gesetzt werden, da //**offlineimap**// ansonsten eine bidirektionale Synchronisation durchführt. | ||
+ | |||
+ | Es kann nicht schaden, vor der Synchronisation leere IMAP-Ordner zu entfernen. Im Falle von "Maildirs" auf der Quell-Seite kann das einfach im Dateimanager erfolgen. Im Falle von Cyrus ist ein angeschlossener Mail-Client zum Aufräumen erforderlich. | ||
===== Beliebiger IMAP-Server zu Kopano ===== | ===== Beliebiger IMAP-Server zu Kopano ===== |