29. Kapitel - Migration von E-Mails mit IMAPCopy

Wenn Sie größere Mengen von E-Mails von einem bestehenden E-Mail-Server auf das Intra2net System übernehmen möchten, ist meist das Programm IMAPCopy der schnellste Weg. IMAPCopy kopiert die E-Mails automatisiert von einem IMAP-Server zu einem anderen und kann dabei mehrere Konten am Stück verarbeiten.

Voraussetzung ist also, dass der bestehende E-Mail-Server über das IMAP-Protokoll erreichbar ist. Bei einigen Groupware-Servern, wie z.B. Tobit David oder Microsoft Exchange, muss der IMAP-Dienst unter Umständen zuerst aktiviert werden.

IMAPCopy ist Open Source und kann von folgender URL geladen werden: http://ardiehl.de/imapcopy/index.html.

Entpacken Sie das Programm in ein separates Verzeichnis. Es wird über die Datei ImapCopy.cfg gesteuert. Eine passende Beispieldatei wird mitgeliefert. Öffnen Sie diese mit einem Texteditor und bearbeiten sie. Zeilen, die mit # beginnen, sind Kommentarzeilen und werden vom Programm ignoriert.

Passen Sie folgende Befehle in der Datei an:

SourceServer

Der DNS-Name oder die IP des Quellservers, von dem die E-Mails abgerufen werden sollen

SourcePort

Der TCP-Port über den der IMAP-Dienst auf dem Quellserver angesprochen wird. Normalerweise 143.

DestServer

Der DNS-Name oder die IP des Zielservers. Also hier der Name des Intra2net Systems.

DestPort

Der TCP-Port für den IMAP-Dienst auf dem Zielserver. Für das Intra2net System immer 143.

skipfolder

Ordner auf dem Quellserver, die nicht kopiert werden sollen. Bei Bedarf können ein oder mehrere Einträge aktiviert werden und damit z.B. gelöschte E-Mails vom Kopieren ausgeschlossen werden. Verwenden Sie pro auszuschließendem Ordner ein "skipfolder"-Befehl in einer separaten Zeile.

copyfolder

Wenn nur bestimmte Ordner kopiert werden sollen, dann aktivieren Sie diesen Befehl und geben die zu kopierenden Ordner in einzelnen "copyfolder"-Befehlen an. Ist kein "copyfolder"-Befehl angegeben, werden automatisch alle sichtbaren Ordner unterhalb von INBOX kopiert.

DenyFlags

Verwenden Sie hier den voreingestellten Wert "\Recent", da dieses Flag nicht kopiert werden kann.

Copy

Geben Sie jedes zu kopierende Konto in einem "Copy"-Befehl an und ersetzen die Beispielzeilen mit foo und bar.

Der 1. Parameter ist der Login des Benutzers auf dem Quellserver

Der 2. Parameter ist das Passwort des Benutzers auf dem Quellserver

Der 3. Parameter ist der Login des Benutzers auf dem Intra2net System

Der 4. Parameter ist das Passwort des Benutzers auf dem Intra2net System

Mehrere Copy-Befehle werden nacheinander abgearbeitet.

Zum Ausführen öffnen Sie eine Konsole mit cmd und wechseln mit cd in das Verzeichnis, in welches Sie IMAPCopy vorher entpackt haben.

Testen Sie als Erstes die grundsätzliche Konfiguration durch Eingabe von imapcopy -t.

Der Programmfortschritt und eventuelle Fehler- oder Erfolgsmeldungen werden auf der Konsole ausgegeben. Nur wenn Sie IMAPCopy wie beschrieben in einer separaten Konsole geöffnet haben, können Sie diese Meldungen auch nach Beendigung des Programms noch sehen.

Das Programm prüft jetzt die Erreichbarkeit des Quell- und Zielservers sowie die Logins. Werden Ihnen Fehler angezeigt, so passen Sie die Konfigurationsdatei an und testen die Konfiguration erneut.

Testen Sie nun die Erkennung der Ordnerstruktur durch Eingabe von imapcopy -0.

Das Programm versucht jetzt alle Ordner vom Quellserver einzulesen und auf dem Intra2net System anzulegen. Es werden aber noch keine E-Mails kopiert. Kontrollieren Sie über die Webgroupware des Intra2net Systems, ob dort alle Ordner korrekt angelegt wurden. Passen Sie evtl. die Konfiguration von IMAPCopy an.

Starten Sie jetzt das tatsächliche Kopieren aller E-Mails durch Eingabe von imapcopy.