[Letzte Aktualisierung: 09.04.2021] Es steht der Umzug einiger IMAP Postfächer von Anbieter A zu Anbieter B an. Im Regelfall bindet man bei Verwendung eines E-Mail-Programms das neue Postfach zusätzlich ein. Anschließend verschiebt man die jeweiligen Verzeichnisse und E-Mails. Dies ist in diesem Szenario nicht möglich. Da es sich aber um keine geschäftlichen Rechner handelt, sondern um Private, rühren wir diese weder persönlich noch per Fernwartung an. Zudem soll im Vorfeld des Umzugs einmal der Datenbestand zwischen den jeweiligen Postfächern abgeglichen werden, damit bei der Umzug des MX-Eintrags nur noch wenige Objekte zu kopieren sind.
Bei meinen Recherchen bin ich auf das Tool Imapsync gestoßen. Dieses ist Open Source und der Quellcode kann auf GitHub eingesehen werden. Nachdem ich keine funktionierende Anleitung gefunden habe, habe ich für diesen Artikel entschieden. Es gibt zwar im Repository für die gängigen Betriebssystemen Anleitungen, aber auch die sind nicht ganz aktuell.
Ausgangslage ist eine virtuelle Maschine mit Ubuntu 18.04 LTS. Folgende Befehle nacheinander ausführen:
apt update apt -y upgrade apt install -y git make gcc apt install -y apt-file cpanminus libc6-dev libssl-dev apt install -y libperl-dev zlib1g-dev libnet-ssleay-perl mount -o remount,exec /tmp cpanm App::cpanminus Authen::NTLM CGI Compress::Zlib Crypt::OpenSSL::RSA Data::Dumper Data::Uniqid Dist::CheckConflicts Encode Encode::IMAPUTF7 File::Copy::Recursive File::Tail IO::Socket::INET IO::Socket::INET6 IO::Socket::SSL IO::Tee JSON JSON::WebToken LWP::UserAgent Mail::IMAPClient Module::ScanDeps PAR::Packer Pod::Usage Readonly Regexp::Common Sys::MemInfo Term::ReadKey Test::MockObject Test::More Test::Pod Unicode::String mount -o remount,noexec /tmp cd /usr/local/src git clone https://github.com/imapsync/imapsync.git cd imapsync make install
Die Installation der Voraussetzungen mit Hilfe von cpanm kann je nach Systemleistungen mehrere Minuten dauern. Zeit für einen Kaffee oder Tee. 🙂
Abschließend darf natürlich der Funktionstest nicht fehlen:
daniel@ubu1804.dev.lab03.wydler.eu:~# imapsync -testslive Creating directory LOG_imapsync Here is imapsync 1.977 on host meet, a linux system with 0.2/1.9 free GiB of RAM with Perl 5.26.1 and Mail::IMAPClient 3.42 Transfer started at Sat Feb 1 13:33:03 2020 PID is 21602 my PPID is 1369 ...
Das Tool startet mal ohne Fehlermeldung. 🙂
Die Syntax bzw. die Nutzung des Tools ist recht schlicht gehalten. Wichtig ist, dass bei Sondernzeichen sind die Werte in Hochkommas zu setzen. Daher habe ich mich entschlossen alle Werte gleich zu behandeln.
imapsync --dry --delete2 --delete2folders \ --host1 'test1.lamiral.info' --user1 'test1' --password1 'secret1' \ --host2 'test2.lamiral.info' --user2 'test2' --password2 'secret2'
Viel Spaß beim Ausprobieren. 🙂
Vielen herzlichen Dank für die Anleitung.
Hat wunderbar geklappt!
Nice, herzlichen Dank! Mit deiner Anleitung hat es endlich geklappt. Stand lange vor dem gleichen Problem der Installation. Hat bei mir übrigens nur in Ubuntu funktioniert, auf Debian ist es irgendwie schief gegangen. Hab es mit den Schritten oben erfolgreich in Ubuntu innerhalb von WSL gestartet.
Kann ich imapsync dazu bringen, ein vorab erstelltes „datafile“ zu nutzen?
Irgendwie wird die Struktur eines derartigen Files zwar beschrieben, aber wie übergebe ich es imapsync?
Guten Abend Jan,
ich kann leider nichts mit dem Begriff „datafile“ anfangen. Was verstehst du darunter?
Unabhängig davon beschreibe doch einmal dein Szenario und das Ziel.
Gruß,
Daniel