Inhaltsverzeichnis
Letzte Aktualisierung am 01.09.2024, 10:09:04 Uhr
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.
Installation unter Ubuntu 22.04/24.04 LTS
Ausgangslage ist eine virtuelle Maschine mit Ubuntu 22.04 LTS. Folgende Befehle nacheinander ausführen:
apt update apt upgrade -y 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 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 Proc::ProcessTable 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. 🙂
Funktionstest
Abschließend darf natürlich der Funktionstest nicht fehlen:
imapsync -testslive Creating directory LOG_imapsync (current directory is /usr/local/src/imapsync) Here is imapsync 2.200 on host ubuntu-2gb-hel1-1, a linux system with 0.7/1.9 free GiB of RAM with Perl 5.30.0 and Mail::IMAPClient 3.43 Transfer started at Wednesday 20 July 2022-07-20 13:04:30 +0000 UTC ...
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. 🙂
Super Anleitung, danke! Trotzdem bekomme ich bei der Installation folgende Rückmeldung, mit der ich als Englisch-Banause nicht wirklich was anfangen kann. Was ist hier falsch gelaufen? root:/usr/local/src/imapsync$ make install sh INSTALL.d/prerequisites_imapsync $SHELL says /bin/bash $0 gives INSTALL.d/prerequisites_imapsync ps -ef gives root 17439 17417 0 06:32 pts/3 00:00:00 sh INSTALL.d/prerequisites_imapsync Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy Linux DD-SERVER 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Oct 5 21:02:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux Ok: Found Perl 5.34.0 make[1]: Entering directory ‚/usr/local/src/imapsync‘ make[1]: Nothing to be done for ‚foo‘. make[1]: Leaving directory ‚/usr/local/src/imapsync‘ Ok: Found make GNU Make 4.3 Ok: Found Perl module App::cpanminus Ok: Found Perl module… Weiterlesen »
So viel konnte ich da rauslesen: irgendwie scheint bei mir die ProcessTable.pm zu fehlen…
Woher bekomme ich nun eine solche?
Hallo Reto,
ich kann den beschriebenen Fehler auf meiner Test Instanz nicht nachstellen. Wenn alle Pakete wie im Artikel beschrieben nacheinander installiert werden, wird der Generierung mit make ohne Warnung und Fehler durchgeführt.
Du kannst das Paket natürlich manuell nachinstallieren:
Gruß,
Daniel
Danke Daniel, das hat funktioniert! 🙂
Danke für die Anleitung. Falls jemand unter Ubuntu 18.04 Fehlermeldungen bei der cpanm Installation von PAR::Packer bekommt: apt install libpar-packer-perl
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