Einleitung
Der Umzug von E-Mail-Postfächern zwischen zwei Servern ist oft eine nervenaufreibende Aufgabe. IMAPSync ist der Goldstandard unter den Kommandozeilen-Tools, um Mails sicher, vollständig und inkrementell von A nach B zu kopieren.
Dieses Tutorial führt durch die Installation via Homebrew, die Einrichtung eines Automatisierungs-Skripts und die Ausführung der Synchronisation.
Voraussetzungen:
- macOS oder Linux Terminal
- Installierter Paketmanager (Homebrew)
- Zugangsdaten für Quell- und Zielserver
Schritt 1: Installation
Wir installieren das Tool direkt über das Terminal. Sollte es zu Problemen mit Perl-Bibliotheken kommen, erzwingen wir eine Kompilierung aus dem Quellcode.
# Standard-Installation
brew install imapsync
# Funktionstest (Simulation)
imapsync --testslive
Troubleshooting: Erhalten Sie den Fehler
String.c: loadable library and perl binaries are mismatched? Dann muss IMAPSync neu gebaut werden:brew reinstall -s imapsync
Schritt 2: Arbeitsumgebung einrichten
Um Ordnung zu halten, nutzen wir eine dedizierte Ordnerstruktur (optional basierend auf dem ‚imapsync-manager‘ Repository).
git clone https://github.com/solo10010/imapsync-manager
cd imapsync-manager
Schritt 3: Das Migrations-Skript erstellen
Anstatt den langen Befehl jedes Mal neu zu tippen, erstellen wir ein Bash-Skript.
Hinweis: Im Original wurde die Endung .py verwendet, da der Inhalt aber Bash-Code ist, nutzen wir hier korrekterweise .sh.
nano imapsync.sh
Fügen Sie folgenden Inhalt ein und passen Sie die Variablen an:
#!/bin/bash
# --- KONFIGURATION ---
USR1='webXXXpXX'
PWD1='Kennwort'
SERVER1='506.test.eu'
USR2='charlyn.hollenstein@test.ch'
PWD2='Kennwort'
SERVER2='243.testneu.eu'
# --- SYNCHRONISATION ---
# --delete2: Löscht Mails auf dem Ziel, die auf der Quelle nicht existieren (Spiegelung!)
# Entfernen Sie --delete2, wenn Sie nur hinzufügen wollen.
imapsync \
--host1 $SERVER1 --user1 $USR1 --password1 $PWD1 \
--host2 $SERVER2 --user2 $USR2 --password2 $PWD2 \
--delete2
# --- BENACHRICHTIGUNG ---
echo "Migration beendet" | mail -s "EXCHANGE Mailsync $USR1 completed!" richard@sondinetwork.ch
Machen Sie das Skript ausführbar:
chmod +x imapsync.sh
Schritt 4: Migration starten
Starten Sie den Vorgang. Da IMAPSync im Terminal läuft, sehen Sie live den Fortschritt, Fehler und die Übertragungsrate.
./imapsync.sh
Sicherheit & Best Practices
- Passwörter: Das Skript enthält Passwörter im Klartext. Löschen Sie das Skript nach Gebrauch oder nutzen Sie Umgebungsvariablen/Passwort-Manager für den Aufruf.
- Dry-Run: Führen Sie beim ersten Mal den Befehl mit dem Flag
--dryaus, um zu sehen, was passieren würde, ohne Daten zu kopieren. - Vorsicht mit –delete2: Dieser Parameter sorgt für eine exakte Spiegelung. Wenn auf dem Zielserver (Server2) bereits neue Mails liegen, die auf Server1 nicht sind, werden diese gelöscht!