Wer auf einen Microsoft Exchange-Server wechselt oder seinen Exchange-Server gegen ein “normales” Mailkonto tauschen möchte, steht vor dem Problem der Datenübernahme. Der folgende Artikel zeigt, wie man ein Mailkonto bequem umziehen kann – in beide Richtungen.
IMAPSync: Zu Microsoft Exchange und zurück
Da Microsoft Exchange auch über das IMAP-Protokoll angesprochen werden kann, liegt eine Lösung per IMAPSync auf der Hand. IMAPSync läuft sowohl unter macOS als auch unter Linux. Das Tool synchronisiert alle Mailkonten, die “IMAP sprechen”. Wie man IMAPSync installiert und verwendet könnt ihr in diesem Beitrag nachlesen:
IMAPSync – Emailkonten auf neuen Server umziehen.
In diesem Artikel gehe ich nur auf die Anwendung mit einem Exchange-Server als Quelle oder als Ziel ein.
IMAPSync kann entweder auf dem Quell-Server als auch auf dem Zielserver laufen. Da Exchange-Server in der Regel unter Windows gehostet werden und man nicht immer SSH-Zugriff auf den Server mit den eigenen IMAP-Konten hat, kommt meist eine dritte Konstellation zur Anwendung: IMAPSync läuft auf einem Client unter macOS oder Linux und schaufelt die Maildaten von Server 1 auf Server 2:
Daten mit IMAPSync auf einen Microsoft Exchange Server übernehmen
Im folgenden Szenario ist auf Server1 unser IMAP-Konto installiert und soll auf Server2 auf ein Exchange-Konto umgezogen werden. Benutzername und Passwort sind auf beiden Servern gleich. Das folgende Script führt diesen Vorgang automatisiert durch und sendet am Ende eine Benachrichtigung per Mail. Die Synchronisation ist inkrementell, d.h. jeder weitere Durchlauf schreibt nur die Änderungen von Server1 nach Server2:
1 2 3 4 5 6 7 |
#!/bin/bash USR='username' PWD='password' imapsync --host1 server1.com --user1 $USR --password1 $PWD --host2 server2.com --tls2 --authmech2 PLAIN --user2 $USR --password2 $PWD --delete2 echo OK | mail -s "EXCHANGE Mailsync $USR completed!" notify@yourmail.com |
Die wichtigsten Parameter sind hier –tls2 und –authmech2. Diese weisen IMAPSync an, bei der Verbindung zum Exchange-Server das TLS-Protokoll und die Authentifizierungs-Methode PLAIN zu verwenden. Lässt man diese Parameter weg, quittiert Exchange den Verbindungsversuch mit einem Authentifizierungsfehler.
Parameter –delete2 sorgt dafür, dass Mails die von Server 1 zwischen 2 Syncs gelöscht wurden, auch auf Server 2 entfernt werden.
IMAPSync meldet “Authentication failed”
Meldet IMAPSync trotzdem einen Authentifizierungsfehler, sollte man zuerst Username und Passwort mit Thunderbird oder einem anderen Mail Client prüfen.
Weitere Ursachen für einen Authentifizierungsfehler sind:
- Der Exchange-Server verwendet SSL anstatt TLS:
Hier wäre der korrekte Parameter dann –ssl2 anstatt —tls2 - Exchange verwendet keine voll-qualifizierten Emailadressen, sondern nur den Usernamen:
In dem Fall wäre –user2 nicht ‘username@domain.com‘, sondern nur ‘username’.
ACHTUNG: Auch wenn die Anmeldung mit dem full qualified username mit einem Mail Client klappt, kann dies trotzdem die Ursache sein. Einige Clients testen zuerst den full qualified Name und dann nur den Usernamen. Ist das Login erfolgreich, unterbleiben entsprechende Hinweise oder Fehlermeldungen. - Exchange verwendet einen Admin-Account zur Anmeldung bei IMAP:
Hier ist dann der folgendenParameter zusätzlich zu verwenden: –authuser2 username. ‘–authmech2 PLAIN’ muss in dem Fall dann entfernt werden.
Daten von Microsoft Exchange auf ein IMAP-Konto umziehen
Auch der umgekehrte Weg ist möglich. Hier werden die Parameter entsprechend vertauscht. In diesem Beispiel ist ebenfalls auf Server1 unser IMAP-Konto und auf Server2 unser Exchange-Konto. Der Rest ist selbsterklärend:
1 2 3 4 5 6 7 |
#!/bin/bash USR='username' PWD='password' imapsync --tls1 --authmech1 PLAIN --host1 server2.com --user1 $USR --password1 $PWD --host2 server1.com --user2 $USR --password2 $PWD --delete2 echo OK | mail -s "EXCHANGE Mailsync $USR completed!" notify@yourmail.com |