Howto: E-Mail-Migration zwischen Dovecot und Zarafa mittels Offlineimap und Master Benutzern

Dieses Howto soll einen möglichen Weg aufzeigen, wie man E-Mail zwischen einem Dovecot IMAP Server und dem Zarafa IMAP Gateway migrieren kann, ohne die Passwörter der zu migrierenden Benutzer zu kennen. Hierbei wird unter anderem die Funktion der Master Benutzer von Dovecot genutzt, da diese schon ausreichend im Netz dokumentiert ist, werde ich hier nicht weiter drauf eingehen.

Das Gegenstück zum Master Benutzer ist bei Zarafa der „local_admin_user“. Dieser bietet die Möglichkeit auf jedes gewünschte Passwort ohne weitere Überprüfung des Passwortes zuzugreifen. Dies ist bei weitem allerdings nicht so elegant wie der Master Benutzer bei Dovecot, da so jeder der einen gültigen Benutzernamen kennt auf dieses Postfach zugreifen kann (vgl. Zarafa Admin Handbuch Kapitel 4.11. Configure Zarafa Gateway die „Important notice“). Daher sollte ein entsprechend modifiziertes Zarafa IMAP Gateway entweder nur im lokalen Netzwerk genutzt werden, oder gar nur auf Verbindungen von localhost reagieren.

Die für die gateway.cfg relevanten Zeilen sind hier, wie oben abgebildet, server_bind und server_socket. Sollte ein von Standard abweichender run_as_user gesetzt sein, so muss dieser eventuell noch in der server.cfg bei local_admin_users aufgenommen werden. Und natürlich sollte IMAP für die entsprechenden Benutzer oder den kompletten Server aktiviert sein.

Leider fehlen dem Zarafa Gateway die Möglichkeit sich z.B. innerhalb eines Multiserver-Setups per sslkey_file und sslkey_pass authentifizieren, daher muss das auf diese Weise manipulierte zarafa-gateway auf einem System laufen, auf dem auch ein zarafa-server Prozess läuft.

Nach der Installation von Offlineimap auf dem Zarafa Host, muss als nächstes eine entsprechende Konfiguration angelegt werden. Diese kann, da das Zarafa Gateway bereits als local_admin läuft, unter einem beliebigen lokalen Benutzer erstellt werden.

Wie bereits geschrieben kann beim Passwort innerhalb von Repository UserA-Zarafa ein beliebiger Wert angegeben werden, da das Zarafa Gateway diesen nicht überprüfen wird.

Eine weitere (kosmetische) Einstellung wäre die automatische Angleichung der Ordnernamen. Innerhalb von Dovecot werden gesendete Objekte im Ordner „Sent“ abgelegt, Zarafa allerdings hat diese im Ordner „Gesendete Objekte“ (zumindest innerhalb eines deutschen Postfachs). Hierfür kann die Funktion „Name translation“ innerhalb von Offlineimap genutzt werden. Zwar reicht in der mit Debian Squeeze ausgelieferten Version noch die einseitige Angleichung, leider habe ich dies bisher noch nicht erfolgreich umgesetzt. Anbei mein bisheriger Versuch:

Den fehlenden Schritt der Angleichung erst einmal überwunden, könnte Offlineimap genutzt werden um definierte Zarafa Postfächer über Dovecot abrufen zu können.

Fortsetzung: Automatische Anpassung der Ordnernamen

3 Gedanken zu „Howto: E-Mail-Migration zwischen Dovecot und Zarafa mittels Offlineimap und Master Benutzern

  1. Großartige Anleitung.
    Vielleicht sollte noch ein Hinweis rein, dass es wirklich nur per Socket-Verbindungen funktioniert. In Multi-Server-Umgebungen muss man demzufolge aufpassen.
    Die „Name translation“ funktioniert bei mir per:
    lambda foldername: re.sub(‚^Sent$‘ ,’Gesendete Objekte‘, re.sub(‚^Trash$‘ ,’Gel&APY-schte Objekte‘, re.sub(‚^Drafts$‘, ‚Entw&APw-rfe‘, foldername)))
    Man muss nur auf die UTF-7 Umlaute achten.

    1. Hallo Jens,

      danke für dein Feedback und die Ergänzung bezgl. der Name translation. Ich habe das gerade einmal ausprobiert und deine Zeilen (bereiningt um die vom Editor gesetzen Kommata) im meine Konfig übernommen und es klappt damit wunderbar.

      Ich werde später mal den Beitrag entsprechend aktualisieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *