Digital IT Nerd

thackba

Lessons learned: E-Mail Migration

E-Mails sind heutzutage nicht mehr aus dem Alltag wegzudenken. Viele Menschen benutzen dabei einen der großen E-Mail-Anbieter wie Google Mail oder GMX. Bei mir und Kollegen aus der IT ist es aber eher üblich sich eine eigene Domain zu registrieren und den E-Mail-Service eines Anbieters seiner Wahl zu nutzen. Einige Menschen hosten sogar ihren eigenen E-Mail-Server.

Doch was macht man eigentlich, wenn man den Anbieter wechseln oder sogar selbst hosten möchte? Im Gegenzug zum Umzug von Webseiten und Datenbanken wird über den Umzug von E-Mail-Daten weniger geredet. Da mir lange Zeit kein möglicher Ansatz zur Migration von Anbieter A zu Anbieter B bekannt war, habe ich mich sehr lange nicht getraut den Wechsel anzugehen.

Aber wie migriere ich denn jetzt E-Mails?

Nach längerer Suche bin ich auf das Programm imapsync von Gilles Lamiral gestoßen. Mit diesem kleinen Programm kann man einfach alle E-Mails von einem E-Mail-Server zu einem anderen Server kopieren. Hat man sich das Programm installiert, kann man es einfach in einem Terminal aufrufen. Hier ein kleines Beispiel:

./imapsync \
    --host1 imap.server1.de  \
    --user1 test1            \
    --password1 "password1"  \
    --host2 imap.server2.de  \
    --user2 test2            \
    --password2 "password2"

Auf der Website des Programms finden sich noch weitere Beispiele und Anleitungen. Wer das Programm öfter nutzt, sollte sich überlegen, ob er dem Author für seine Mühen dankt und eine Lizenz für das Programm kauft.

Was kann man noch mit dem Programm machen?

Ich benutze imapsync auch noch zum Sichern meiner E-Mails. Mit Hilfe eines docker-Containers kann man sich einen lokalen IMAP-Server aufsetzen und seine E-Mails in den lokalen Server sichern. Um den Container zu starten, kann folgender Aufruf genutzt werden:

docker run \
    --rm --publish 127.0.0.1:143:143     \
    --volume [Pfad zum Backup]:/srv/mail \
    --name imap dovecot/dovecot

Die Sicherung kann dann mit folgendem Aufruf gestartet werden:

./imapsync \
    --host1 [E-Mail Server] \
    --user1 [Username]      \
    --password1 [Password]  \
    --host2 localhost       \
    --user2 backup          \
    --password2 pass        \
    --delete2