IMAP Migration mit imapsync unter Debian

Dank IMAP werden heutzutage alle Nachrichten nicht mehr vom Client abgerufen und lokal gespeichert, sie verbleiben auf dem Server. Damit lässt sich ein Postfach auf mehreren Endgeräten verwenden und bleibt immer synchron.

Doch was, wenn man ein oder mehrere Postfächer auf einen anderen Server umziehen muss?Hier hilft ein kleines Tool Namens imapsync von Gilles Lamiral. Dieses wird auf der Projektseite verkauft, kann aber ganz einfach kostenlos verwendet werden. Source und nötige Abhängigkeiten sind frei verfügbar. Das folgende Tutorial beschreibt die Migration eines IMAP Postfachs auf einen anderen Server. Als „Zwischenhändler“ kommt ein Debian System zum Einsatz. Auf beiden Servern muss das Postfach bereits eingerichtet sein.

Schritt 1: git clone von imapsync

Falls git noch nicht instlalliert ist …

apt-get install git

… danach:

git clone https://github.com/imapsync/imapsync imapsync

Schritt 2: Abhängigkeiten installieren

imapsync benötigt ein paar Perl und einige Module um korrekt zu funktionieren. Diese können über das Debian Repository nachinstalliert werden.

apt-get install perl libmail-imapclient-perl libterm-readkey-perl libio-socket-ssl-perl libdigest-hmac-perl liburi-perl libfile-copy-recursive-perl libio-tee-perl libunicode-string-perl libreadonly-perl

Schritt 3: Funktionstest

perl -c /git_clone_ordner/imapsync

Wenn der Test „imapsync syntax OK“ auswirft, sind alle notwendigen Module installiert und imapsync funktionsfähig.

Schritt 4: Migration eines Postfachs

Hierfür wechselt man zuerst in den Ordner von imapsync und führt folgenden Befehl mit angepassten Parametern aus.

./imapsync \
--host1 imap.server1.de --user1 user@domain.com --password1 PASSWORT --authmech1 PLAIN --ssl1 \
--host2 imap.server2.de --user2 user@domain.com --password2 PASSWORT --authmech2 PLAIN --ssl2 \
--exclude Spam --exclude Trash

Hier eine kurze Erklärung der verwendeten Parameter. Die Nummerierung 1 und 2 gibt an, zu welchem Server (Quell- oder Zielserver) der Parameter gehört. host1 ist dabei der Quellserver und host2 der Zielserver.

–host <IP oder Domain> IMAP-Server
–port Port
–user <benutzername> und –password1 <passwort> Login
–authmech <PLAIN|LOGIN|CRAM-MD5|…> Authentifizierungsmethode
–ssl Nutzt SSL für die Serververbindung
–tls Nutzt TLS für die Serververbindung
–exclude Lässt angegebenes Verzeichnis aus

7 Gedanken zu „IMAP Migration mit imapsync unter Debian

  1. Thomas Ebert

    Vielen Dank für die tolle Anleitung!

    Bei der Ausführung mit Hilfe meines Debian-Servers gab es aber noch eine Hürde. Zunächst fehlte mir das Perl-Modul Unicode::String.

    Daher führte ich noch mal alle Modulinstallationen aus:
    aptitude install libmail-imapclient-perl # Mail::IMAPClient
    aptitude install libterm-readkey-perl # Term::ReadKey
    aptitude install libio-socket-ssl-perl # IO::Socket::SSL
    aptitude install libdigest-hmac-perl # Digest::HMAC_MD5 Digest::HMAC_SHA1
    aptitude install liburi-perl # URI::Escape
    aptitude install libfile-copy-recursive-perl # File::Copy::Recursive
    aptitude install libio-tee-perl # IO::Tee
    aptitude install libunicode-string-perl # Unicode::String

    –Quelle: https://github.com/imapsync/imapsync/blob/master/INSTALL

    Außerdem ist auch noch eine interessante Randinformation, dass host1 der Quellserver ist und host2 der Zielserver. Das steht nämlich in Deinem Artikel nicht explizit geschrieben und kann zu Verwirrung (mit Datenverlusten einhergehend) führen.

    Ansonsten funktioniert das Ganze sehr gut – Duplikate von Mails werden sogar gar nicht erst kopiert.

    Fragt sich nur, warum der Entwickler so kategorisch 50 Euro für sein Programm haben möchte, es dann aber auf GitHub öffentlich macht… Ich würde ja gerne eine kleine Summe spenden, aber das scheint nicht vorgesehen zu sein.

    Antworten
  2. Alex

    Hi,

    hab das eben unter Debian-7 probiert. Dort fehlt allerdings, wie von Robert schon angemerkt, noch das readonly Paket. Einfach noch nach installieren mit:

    apt-get install libreadonly-perl

    Dann klappt’s :)

    Gruß & Danke für das HowTo

    Antworten
  3. Oliver Vogel

    Super Anleitung!
    Evtl. solltest du noch ein

    aptitude install git

    am Anfang des Tutorials einfügen. Das kann zwar jeder selber (wer da nicht kann, sollte das lieber ganz bleiben lassen ;-) aber der Vollständigkeit halber…

    Antworten

Schreibe einen Kommentar

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