Skip to main content

E-Mail-Postfächer Migration/Synchronisierung mit IMAPSync unter Ubuntu (WSL2 geeignet)

IMAP-Migration mit imapsync (IONOS → Hetzner) — kompakte Doku & Befehle

Kurzüberblick (Zusammenfassung des verlinkten Artikels)

Im Blogpost von Claudio Kuenzler wird imapsync als robustes CLI-Werkzeug vorgestellt, um IMAP-Postfächer verlustfrei zu migrieren bzw. zu sichern. Der Artikel zeigt:

    Dry-Run mit --dry zum sicheren Probelauf inkl. Statistik. Vollständigen Produktivlauf ohne --dry. Typische Optionen wie --automap (Ordner-Mapping), --useuid (duplikatfreies, inkrementelles Syncing), --syncinternaldates (Originalzeiten behalten), --addheader (für Nachrichten ohne eindeutige Header). Paket-/Modul-Voraussetzungen und die Empfehlung, jeweils die neueste Version zu nutzen (der Artikel selbst verwendet 1.977, Stand 2021).

    Quelle: https://www.claudiokuenzler.com/blog/1038/email-migration-transfer-sync-using-imap-mailbox-imapsync

    Vorbereitung (Passwortdateien sicher anlegen)

    Ziel: ionos.pw und hetzner.pw mit je nur der Passphrase in Zeile 1, restriktive Rechte.

    # Create secrets dir with strict permissions
    mkdir -p ~/secrets
    chmod 700 ~/secrets
    
    # Create ionos password file securely
    nano ~/secrets/ionos.pw
    # Paste the IONOS password on line 1, save & exit (Ctrl+O, Enter, Ctrl+X)
    
    # Create hetzner password file if not already present
    nano ~/secrets/hetzner.pw
    # Paste the Hetzner password on line 1, save & exit
    
    # Restrict file permissions
    chmod 600 ~/secrets/ionos.pw ~/secrets/hetzner.pw
    

    Warum Passfile? --passfile1/2 vermeidet Klartext-Passwörter in der Prozessliste/History. (Siehe imapsync-README zu --passfile1/--passfile2.) GitHub


    Optional: Installation/Update auf die neueste Version

    Variante A (Debian/Ubuntu, empfohlen):

    # Download the latest Debian package listed in the official dist2 index
    cd /tmp
    wget https://imapsync.lamiral.info/dist2/imapsync-2.309.deb
    sudo apt install ./imapsync-2.309.deb
    

    https://imapsync.lamiral.info/dist2/

    Variante B (Universell, Tarball/Source):

    # Get the current tarball release
    cd ~/build && mkdir -p imapsync && cd imapsync
    wget https://imapsync.lamiral.info/dist2/imapsync-2.290.tgz
    tar xzf imapsync-2.290.tgz
    # The executable script is ./imapsync inside the extracted folder
    

    https://imapsync.lamiral.info/dist2/

    Hinweis zu Perl-Modulen: Falls Abhängigkeiten fehlen, siehe INSTALL/TUTORIAL der offiziellen Doku.


    Dry-Run (sichere Simulation, keine Änderungen)

    # DRY RUN: simulate IONOS -> Hetzner migration without transferring messages
    ./imapsync \
      --dry \
      --host1 imap.ionos.com --user1 'info@Schule-Freudenberg.de' --passfile1 ~/secrets/ionos.pw --ssl1 \
      --host2 mail.your-server.de --user2 'kontakt@Schule-Freudenberg.de' --passfile2 ~/secrets/hetzner.pw --ssl2 \
      --automap \
      --useuid \
      --syncinternaldates \
      --addheader \
      --exclude '(?i)spam|trash|junk' \
      --logfile ~/imapsync_ionos_to_hetzner_dry.log
    
      --dry zeigt, was passieren würde, inkl. Ordner-/Nachrichtenstatistik, aber ohne echte Übertragung. (Wie im Artikel demonstriert.) --automap erkennt/ordnet Standardordner (Sent/Trash/Junk/Drafts/Archive/Flagged) automatisch zu. --useuid und --addheader minimieren Dubletten und helfen bei Entwürfen/Gesendet-Mails ohne eindeutige Header. --syncinternaldates erhält interne Serverzeiten (Anzeige bleibt konsistent). (Im Artikel erläutert.) --exclude '(?i)spam|trash|junk' lässt offensichtliche Systemordner aus. (Ordner-Selektion siehe FAQ.)

      Produktivlauf (tatsächliche Migration)

      # REAL RUN: perform IONOS -> Hetzner migration
      ./imapsync \
        --host1 imap.ionos.com --user1 'info@Schule-Freudenberg.de' --passfile1 ~/secrets/ionos.pw --ssl1 \
        --host2 mail.your-server.de --user2 'kontakt@Schule-Freudenberg.de' --passfile2 ~/secrets/hetzner.pw --ssl2 \
        --automap \
        --useuid \
        --syncinternaldates \
        --addheader \
        --exclude '(?i)spam|trash|junk' \
        --logfile ~/imapsync_ionos_to_hetzner.log
      

      Tipp: Wer zusätzlich nur die Ordner-Zuordnung prüfen will, kann einmalig --automap --justautomap testen (ohne Nachrichtenübertrag). https://imapsync.lamiral.info/S/news.shtml?utm_source=chatgpt.com


      Ergebnisse prüfen & typische Hinweise

        Logs: Lies die Logdatei (--logfile …). Ein guter Abschluss wird explizit gemeldet („The sync looks good … Detected 0 errors“). SSL/Ports: IONOS IMAP via 993/SSL, Hetzner via 993/SSL — unsere Befehle erzwingen SSL mit --ssl1/--ssl2. Mehrfachläufe: imapsync ist inkrementell; wiederholte Läufe übertragen nur Diff, keine Dubletten (mit --useuid).