Zusätzlich zu den lang erwarteten Funktionen wie dem Hierarchical Address Book und der offiziellen Unterstützung für Ubuntu 18.10 LTS brachte uns die
Veröffentlichung von Zimbra 8.8.12 Neuigkeiten über die bevorstehende Entfernung einer Reihe von Dienstprogrammen, die für die Migration von anderen Mailsystemen zur Zimbra Collaboration Suite erforderlich sind. Insbesondere wurde die Unterstützung für den ZCS-Migrationsassistenten für Domino vollständig eingestellt, und der ZCS-Migrationsassistent für Exchange unterstützt jetzt nur das Importieren von PST-Dateien aus Outlook. Um eine vollständige Migration zu implementieren, bieten die Entwickler der Zimbra Collaboration Suite die Nutzung kostenpflichtiger Onlinedienste an. Aus Sicherheitsgründen ist jedoch nicht jedes Unternehmen bereit, seine Postfachdaten an Dritte weiterzugeben, und nicht jedes Unternehmen kann sich die mit der Migration auf Zimbra verbundenen zusätzlichen Kosten leisten. Speziell für solche Benutzer gibt es ein Imapsync-Programm, das eine zuverlässige inkrementelle Migration von jedem Mailsystem nach Zimbra ermöglicht.

Imapsync ist ein kostenloses Dienstprogramm, das in den Repositorys jeder offiziell unterstützten Zimbra Linux-Distribution verfügbar ist. Der Zweck dieses Programms besteht darin, E-Mails zwischen verschiedenen Mailservern zu übertragen, und es wird perfekt damit umgehen. Dank der Flexibilität der Einstellungen können E-Mails schrittweise und vollautomatisch übertragen werden. Lassen Sie uns sehen, wie Sie mit imapsync von Lotus Domino und MS Exchange auf die Zimbra Collaboration Suite migrieren können.
Migration von MS Exchange nach Zimbra
Damit die E-Mail-Migration erfolgreich ist, müssen Sie eine Reihe von Vorbereitungen treffen. Zunächst müssen auf dem Zimbra-Server dieselben Benutzer wie auf dem MS Exchange-Server mit denselben Kennwörtern erstellt werden. Bei der Ausführung dieser Aufgabe ist es sehr nützlich, Zimbra-Benutzer mithilfe von AD automatisch zu konfigurieren. Der Prozess einer solchen automatischen Abstimmung ist in einem unserer vorherigen Artikel beschrieben.
Nachdem alle Konten von AD oder Exchange migriert wurden, müssen Sie das imapsync-Paket mit Zimbra auf dem Server installieren. Wenn Sie Ubuntu als Betriebssystem für Zimbra verwenden, können Sie das Programm mit dem Befehl
sudo apt-get install imapsync -y installieren . In CentOS und RHEL wird die Installation mit dem Befehl
sudo yum install imapsync -y durchgeführt .
Wenn die Installation des Pakets und aller Abhängigkeiten abgeschlossen ist, fahren wir mit der Konfiguration des Exchange-Servers fort. Darauf müssen wir den IMAP4-Dienst aktivieren. Führen Sie dazu die Datei
services.msc aus. Gehen Sie anschließend zu Extras> Dienste -> IMAP4 Microsoft Exchange -> Start. Danach müssen Sie dem Administrator Zugriff auf Benutzerpostfächer gewähren, um die Verwendung von Benutzerkennwörtern während der Migration zu vermeiden, und außerdem Richtlinien zur Geschwindigkeitsbegrenzung deaktivieren oder konfigurieren, damit sie die Migration nicht beeinträchtigen. Jetzt können Sie E-Mails von Server zu Server übertragen.
In unserer Infrastruktur befindet sich MS Exchange auf dem Host
exchange.company.ru und Zimbra auf dem Host
zimbra.company.ru . Benutzer werden einzeln über die Befehlszeile übertragen, in der wir das Dienstprogramm imapsync mit einer Reihe von Parametern ausführen, die für die Migration erforderlich sind. Zunächst sollte beachtet werden, dass Administratorkonten in Zimbra wie in MS Exchange Zugriff auf den Inhalt aller Benutzerpostfächer haben. Dies bedeutet, dass der Systemadministrator für die Migration auf einen neuen Mailserver die Kennwörter von normalen Benutzerkonten nicht kennen muss. Aus diesem Grund wird die Migration jedes Benutzers von MS Exchange nach Zimbra mit einem Befehl der folgenden Form ausgeführt:
imapsync --host1 exchange.company.ru --user1 "xxxxx" --authuser1 "yyyyy" --password1 "zzzzz" --nosslcheck --host2 zimbra.company.ru --user2 "XXXXX" --authuser1 "YYYYY" --password2 "ZZZZZ"
In diesem Befehl geben wir den
Quellhost (
--host1 ) an, von dem imapsync
Kontodaten abruft, sowie den Host (
--host2 ), auf dem diese Daten aufgezeichnet werden. Wir geben auch den Benutzernamen (
--user1 ) auf dem ersten Host und den entsprechenden Benutzernamen (
--user2 ) auf dem zweiten Host an. Um auf seine Daten zugreifen zu können, geben wir den Namen des Administratorkontos (
--authuser1 ) und das Administratorkennwort (
--password1 ) des ersten Hosts an und um die übertragenen Daten aufzuzeichnen, den Namen des Administratorkontos (
--authuser2 ) und das Kennwort Administrator (
--password2 ) des zweiten Hosts.
In einer idealen Welt würde ein solcher Befehl ausreichen, um Benutzerdaten zwischen Servern mit MS Exchange und Zimbra zu übertragen. Wie so oft nehmen die Unterschiede zwischen den Lösungen ihre eigenen Korrekturen vor, und daher führt eine einfache Übertragung von Daten aus MS Exchange zu einem schrecklichen Chaos in Zimbra-Postfächern . Der Stolperstein in diesem Fall sind die unterschiedlichen Namen der Ordner in den Postfächern. Um Verwirrung während der Datenübertragung zu vermeiden, ist es notwendig, unser Team auf ungefähr die folgende Form zu bringen:
imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --user1 "xxxxxxxxxx" --authuser1 "besadmin" --password1 "XXXXXXX" \ --host2 'xxxxxxx' --user2 "xxxxxx" --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100"
Beachten Sie, dass dies kein universelles Skript ist, das in jeder Infrastruktur einwandfrei funktioniert. Viele Dinge können von verschiedenen Funktionen Ihrer Infrastruktur abhängen. Testen Sie daher vor dem Start einer vollständigen Migration unbedingt die Datenübertragung zwischen Systemen auf einer Reihe nicht kritischer Geschäftskonten.
Lassen Sie sich von der Fülle an Parametern, mit denen imapsync gestartet wird, nicht erschrecken. Die meisten von ihnen werden genau benötigt, damit beim Übertragen von Ordnern aus dem Postfach keine Verwirrung entsteht und alle Elemente von MS Exchange an Zimbra übertragen werden.
Mit dem Parameter
--subscribe_all kann imapsync beispielsweise alle Ordner in Ihrem Konto abrufen, damit Sie später damit arbeiten können. Mit der
Option --f1f2 können
Sie den Namen des Ordners während der Synchronisierung ändern. Das heißt zum Beispiel beim Synchronisieren. Der Ordner "Gesendete Elemente" ändert seinen Namen in "Gesendet", sodass Sie den Inhalt perfekt in die Ordnerstruktur der Zimbra Collaboration Suite einfügen können. Der Parameter
--regextrans2 ermöglicht auch das Ändern von
Ordnernamen und basiert auf dem Regex-Mechanismus der Perl-Programmiersprache, sodass diejenigen, die mit dieser Sprache vertraut sind, diesen Parameter leicht erlernen können.
Um zu erklären, was die
Optionen --addheader und
--useheader bewirken, müssen Sie
genauer untersuchen , wie genau E-Mails in imapsync synchronisiert werden. Tatsache ist, dass zur Synchronisierung von Imapsync Buchstaben auf beiden Servern identifiziert werden müssen, um zu entscheiden, ob sie synchronisiert werden sollen oder nicht. Um sie zu überprüfen, verwendet dieses Dienstprogramm Parameter wie "Nachrichten-ID:" und "Empfangen:" (Identifikationsnummer und Empfangszeitpunkt), die in solchen E-Mails, wie z. B. Entwürfen, nicht vorhanden sind. Um sie normal zu synchronisieren, benötigen wir den Befehl --addheader. Sie können ihnen eine Identifikationsnummer hinzufügen, um solche Buchstaben während der Synchronisation irgendwie zu identifizieren und zu vergleichen. Mit dem Parameter --useheader können Sie Buchstaben während der Synchronisation mit nur einem von zwei Parametern vergleichen.
Nach dem Schreiben des perfekten Skripts, mit dem wir die perfekte Übertragung von Konten von MS Exchange nach Zimbra übertragen können, bleibt ein erhebliches Problem bestehen, das damit zusammenhängt, dass wir immer noch Benutzer einzeln zwischen Servern übertragen müssen. Dies ist nicht sehr optimal, insbesondere in Unternehmen, in denen viele Mitarbeiter beschäftigt sind und die Anzahl der Postfächer in Tausenden gemessen wird. Dieser Prozess kann jedoch erheblich optimiert werden, indem eine Liste von Konten erstellt und anschließend ein kleines Skript geschrieben wird, das E-Mails basierend auf Kontonamen automatisch überträgt. Dazu erstellen wir die Datei
imap_users und fügen ihr alle erforderlichen Daten in folgender Form hinzu:
domains=( domain1\ domain2) users=( user1@domain1\ user2@domain1\ user3@domain1\ user1@domain2\ user2@domain2\ user3@domain2)
Danach werden wir das Skript selbst schreiben. Wir haben so etwas:
. imap_users src_srv = exchange.company.ru dest_srv = zimbra.company.ru for ((i = 0; i < ${#users[@]}; i++ )) do /usr/bin/imapsync --subscribe_all --maxmessagespersecond 4 --addheader --f1f2 "Inbox=INBOX" \ --f1f2 "Sent Items=Sent" --f1f2 "Sent items=Sent" --exclude "^Journal|^Tasks|^Trash|Contacts|Calendar|RSS Feeds" \ --useheader "Message-ID" --buffersize 8192000 --nosyncacls --allowsizemismatch --usecache --syncinternaldates --skipsize --nofoldersizes \ --tls1 --port1 143 --host1 $src_srv --user1 ${users[$i]} --authuser1 "besadmin" --password1 "XXXXXXX" --nosslcheck \ --host2 $dest_srv --user2 ${users[$i]} --authuser2 "XXXXXX" --password2 "XXXX" --tls2 --port2 7143 \ --regextrans2 "s/Inbox1/INBOX/i" --regextrans2 "s/Sent Items/Sent/i" --regextrans2 "s/sent-mail/Sent/i" --regextrans2 "s/Deleted Items/Trash/i" --regextrans2 "s/Deleted Messages/Trash/" \ --delete2duplicates --timeout 600 --pidfile "impasync.local.pid" --logfile "imapsync.log" --sep1 "/" --errorsmax "100" done
Da die Datenübertragung inkrementell ist, können Sie zuerst den Großteil der Daten zwischen den Servern übertragen und dann innerhalb einer kurzen technischen Pause die kleine Datenmenge übertragen, die sich seit der letzten Synchronisierung angesammelt hat, alle eingehenden E-Mails an Zimbra übertragen und zum Hauptpostsystem machen. Wir möchten Sie daran erinnern, dass Sie vor der Migration auf das neue Mail-System die Mitarbeiter über den bevorstehenden Übergang informieren, Schulungen mit ihnen durchführen und Memos darüber erstellen müssen, wo sich in Zimbra ihre üblichen Funktionen befinden. Dank dessen wird die Migration reibungsloser verlaufen und keine Probleme für das Unternehmen verursachen.
Migration von Lotus / Domino nach Zimbra
In vielerlei Hinsicht wiederholt der Migrationsprozess vom IBM Mail-System mit imapsync den Migrationsprozess von MS Exchange und jedem anderen Mail-System. Bei der direkten Migration treten jedoch bei vielen Administratoren Fehler beim Trennen der Verbindung über IMAP und dementsprechend beim Beenden der Synchronisierung auf. Gleichzeitig wird in den Protokollen keine Fehlermeldung angezeigt. Wenn Sie während der Migration von Lotus / Domino auf dieses Problem gestoßen sind, können Sie dieses Problem mithilfe der folgenden Aktionen beheben:
- Starten Sie Lotus Notes mit Administratorrechten und wechseln Sie zum Adressbuch.
- Ändern Sie in den Adressbucheinstellungen das Standardnachrichtenformat in "Bevorzugtes MIME".
- Ändern Sie in denselben Lotus Notes, die mit Administratorrechten ausgeführt werden, das Benutzerdatenbankformat in Mail (R6), das vom Server und nicht vom Mail-Client übernommen wird
- Schalten Sie den Lotus Domino Router über die Domino-Administrationskonsole mit dem Befehl tell router quit aus
- Packen Sie die Benutzerdatenbank über die Domino-Administrationskonsole mit dem Befehl "load compact userdb.nsf"
- Überprüfen Sie die Datenbank auf Fehler, indem Sie den Befehl fixup userdb.nsf über die Domino-Konsole ausführen (nicht über die Administratorkonsole).
- Führen Sie in der Domino-Administrationskonsole den Befehl "convert -e userdb.nsf" aus, um die Datenbank für die IMAP-Übertragung vorzubereiten
- Führen Sie in der Domino-Administrationskonsole den Befehl "convert -h userdb.nsf" aus, um allen Nachrichten IMAP-Header hinzuzufügen.
Nachdem Sie alle diese Schritte ausgeführt haben, sollte die Übertragung von E-Mails von Lotus / Domino nach Zimbra mithilfe von imapsync problemlos erfolgen.
Zusätzlich zu den Dienstprogrammen für die Migration wurden Zimbra-Clients für Desktop-Computer und mobile Geräte nicht unterstützt. Außerdem wurde der HTML-Webclient aus dem Support entfernt, um die Kompatibilität mit älteren Browsern und Geräten mit geringem Stromverbrauch sicherzustellen. Alle von ihnen können leicht durch Drittkunden ersetzt werden, da Zimbra fast alle offenen Standards und Protokolle unterstützt.
Denken Sie daran, dass die Migration zwischen Zimbra-Servern mit dem kostenlosen Zextras-Migrationstool durchgeführt werden kann, das Sie auf der offiziellen
Zextras-Website herunterladen können .
Bei allen Fragen zur Zextras Suite können Sie sich per E-Mail an katerina@zextras.com an den Vertreter der Firma "Zextras" Katerina Triandafilidi wenden