Outlook-Synchronisation mit Zimbra über ActiveSync via Z-Push streikt aufgrund von nicht implementierten Ordnertypen
Bei der Neukonfiguration meines E-Mail-Kontos als ActiveSync-Konto unter Outlook (siehe auch: Outlook 2013 mit ActiveSync über Z-Push nutzen) wurde der neue Account stundenlang nicht synchronisiert. Ein Blick in die Log-Dateien von Z-Push brachte folgende im Sekundentakt erscheinende Fehlermeldung zum Vorschein:
04/02/2015 21:59:09 [ 6085] [ERROR] [vorname.nachname] NotImplementedException: Folderid 'f257' is saved to be of type '18' but this type is not implemented - code: 0
Die Log-Einträge von Z-Push können Sie mit folgendem Befehl live mitverfolgen:
tail -f /var/log/z-push/z-push-error.log
Lösung
Das Problem besteht darin, dass Zimbra die IMAP-Ordnerstruktur nicht nur für die Speicherung von E-Mails, sondern auch für interne Erweiterungen wie Kommentare, Chat und Dateien nutzt. In meinem Fall konnte Z-Push mit dem Ordner Kommentare nicht umgehen. Nachdem ich weiß, dass ich diese Funktionen von Zimbra nicht nutze, konnte ich den Ordner löschen und die Synchronisierung funktioniert im Anschluss wieder reibungslos. Um den Ordner löschen zu können, müssen Sie Ihren Account via IMAP in einem Client abrufen, die Webmail-Oberfläche von Zimbra blendet diese Systemordner aus.
Um zu ermitteln welcher Ordner das Problem verursacht rufen Sie die Webmail-Oberfläche von Zimbra auf und lassen sich von ihrem Browser den Quellcode zeigen. Suchen Sie darin nach der ID, die in der Fehlermeldung von Z-Push angegeben wurde - in meinem Fall f257 also 257. Im Quellcode finden Sie Einträge im JSON-Format, über die Sie den Namen des Ordners ermitteln können:
{"id":"257","uuid":"c8ee1279-998f-4b0d-979a-2a4e0f13d7e3","name":"Comments","absFolderPath":"/Comments","l":"1","luuid":"fcba2b22-a35e-4676-b0db-99bee5286353","view":"comment","rev":2,"ms":2,"webOfflineSyncDays":0,"activesyncdisabled":false,"n":0,"s":0,"i4ms":2,"i4next":258}
Prüfen des Synchronisierungsstatus
Bei meiner Fehlersuche bin ich über eine nützliche Funktion von Z-Push gestoßen, über die Sie den aktuellen Synchronisierungsstatus der einzelnen Accounts bzw. verbunden Geräte prüfen können. Zu beachten ist, dass beim Verbinden durchaus unterschiedliche Benutzernamen für den selben Account möglich sind, aber in diesem Fall auch getrennt abgerufen werden müssen.
./z-push-admin.php -a list -u vorname.nachname
./z-push-admin.php -a list -u vorname.nachname@bartlweb.net