# E-Mail-Postfächer synchronisieren/umziehen mit imapsync **[[https://github.com/imapsync/imapsync|imapsync]]** ist ein kleines Tool um E-Mail-Postfächer via IMAP zwischen zwei Hosts zu synchronisieren. Meist nutze ich das Script, wenn ein E-Mail-Postfach von einem Server zu einem anderen umgezogen werden soll. Das auf Perl basierende Script kopiert nicht nur die E-Mails, sondern sondern übernimmt auch die Flags und andere Metadaten der Nachrichten. Zudem wird jede E-Mail nur einmal übertragen (alle fehlenden), auch wenn das Script mehrmals auf einem Postfach ausgeführt wird. Früher gab es imapsync als Paket für apt-get (Debian, Ubuntu, …). Dies ist jetzt leider nicht mehr der Fall. ## imapsync unter Debian/Ubuntu installieren (kompilieren) #### Abhängigkeiten installieren RUN apt-get update RUN apt-get install \ git-core \ make \ makepasswd \ rcs \ perl-doc \ libmail-imapclient-perl \ libdigest-hmac-perl \ libterm-readkey-perl \ libio-socket-ssl-perl \ libdate-manip-perl \ libmail-imapclient-perl \ libfile-copy-recursive-perl \ libio-tee-perl \ libunicode-string-perl #### imapsync von GitHub klonen und installieren git clone git://github.com/imapsync/imapsync.git cd imapsync mkdir dist sudo make install Anschließend kann imapsync genutzt werden: `imapsync -v` ## Verwendung Das Tool hat unzählige mögliche Optionen, für alle möglichen Szenarien. So können Ordner ausgeschlossen werden, SSL konfiguriert werden, man kann Ordner ummappen, E-Mails nach der Synchronisation vom Quellserver löschen lassen und vieles mehr. Um sich alle Optionen anzeigen zu lassen, einfach imapsync ohne Parameter aufrufen: $ imapsync Meistens wird das Script mit folgenden Optionen genutzt: $ imapsync --dry --host1 host1.example.com --user1 "foo@mail.de" --password1 "bar" --host2 host2.example.com --user2 "foo@mail.de" --password2 "bar" Die `--dry` Option sorgt in diesem Fall dafür, dass der Sync nur simuliert wird. Wenn die Synchronisation wirklich durchgeführt werden soll, wird das Script ohne die dry-Option ausgeführt. ## Docker Container Ich habe für imapsync einen Docker Container erstellt. Hier wird imapsync direkt im Container installiert. Zudem ist ein Script enthalten, welches direkt mehrere Postfächer synchronisieren kann. **» [[https://github.com/cbeier/docker-imapsync|imapsync Docker]]**