Hallo zusammen,
ich werfe hier auch mal meinen Testberichte in den Ring da ich den eM-client als OL2013 Ersatz gerade im Test habe.
Supported Grommunio Appliance
grommunio-admin-web-3.1.0.0.4f991fa-lp155.16.1.noarch
system-user-grommunio-9-lp155.1.1.noarch
grommunio-web-3.9.12.g63c9aa0e-lp155.20.1.noarch
grommunio-error-pages-1.0.10.bb2df37-lp155.17.1.noarch
grub2-theme-grommunio-1-lp155.17.2.noarch
systemd-coredump-grommunio-1-lp155.3.1.noarch
grommunio-admin-common-35.36c09d4-lp155.21.1.noarch
systemd-presets-branding-grommunio-2024.06-lp155.2.1.noarch
gromox-debuginfo-2.30.0.f0a485f-lp155.1.1.x86_64
grommunio-imapsync-2.264-lp155.2.1.noarch
grommunio-common-24.0cedcbe-lp155.21.1.x86_64
plymouth-theme-grommunio-1-lp155.17.2.noarch
grommunio-antispam-3.8.4-lp155.1.2.x86_64
grommunio-index-1.0.2.gb782c51-lp155.22.2.x86_64
grommunio-setup-1.1.1.026f61a-lp155.30.1.noarch
grommunio-release-2023.11.3-lp155.12.1.x86_64
grommunio-sync-2.0.90.62b136b-lp155.35.1.noarch
grommunio-dbconf-1.1.1.da20a46-lp155.16.2.x86_64
grommunio-files-26.0.12-lp155.5.1.noarch
patterns-grommunio-1-lp155.9.1.x86_64
gromox-2.30.0.f0a485f-lp155.1.1.x86_64
grommunio-archive-1.3.13.g137.d1b0df1b-lp155.6.50.x86_64
grommunio-admin-api-1.15.4.bdb78ae-lp155.36.1.noarch
grommunio-cui-1.0.265.2c7abfc-lp155.27.1.noarch
gromox-debugsource-2.30.0.f0a485f-lp155.1.1.x86_64
system-user-gromox-9-lp155.2.1.noarch
grommunio-dav-1.3.58.a0fb7c0-lp155.1.1.noarch
eM-Client:
sowohl die 9.2.2258 als auch die Beta 10.0.2362 sieht bei mir wie folgt aus:
Exchange2007_SP1
sowie Exchange2010_SP2 in der ews.cfg gesetzt:
Postfach 1
- Historie: Exchange 2013 -> Kopano -> Grommunio via AD angebunden
- ca. 4000 Mails / 700 Kalender Einträge.
- Mails: werden korrekt synchronisiert, bis zu dem Zeitpunkt bei der eine Mail mit Encoding Problemen ähnlich wie bei @Hobby-Student auftaucht.
Folgender fehler tritt sporadisch auf, bisher leider noch keine genaueren details:
log of eM Client 9.2.2258
11:08:15 [Exchange Web Services] MailClient.Storage.Application.OperationException: Prefetch fehlgeschlagen
---> System.NullReferenceException: Object reference not set to an instance of an object.
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.GetItemContentInternal(Folder folder, IMailRepositoryItem item, IStoredMimePart basePart, String partName)
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.PrefetchItems(IPrefetchProgress progress, Folder folder, IEnumerable`1 items, PrefetchType prefetchType, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.PrefetchItems(IPrefetchProgress progress, Folder folder, IEnumerable`1 items, PrefetchType prefetchType, CancellationToken cancellationToken)
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass43_0.<EnqueuePrefetch>b__2(WorkerStatus status, CancellationToken cancellationToken1)
at MailClient.Protocols.Exchange.ExchangeGenericCommand.Execute(WorkerStatus status)
at MailClient.Commands.Command.Process(WorkerStatus status)
QueueIgnore = True
EnqueuedStackTrace =
at MailClient.Protocols.Common.AccountBase.RunIfOnline(Action actionIfOnline, Action actionIfOffline)
at MailClient.Protocols.Common.ItemSynchronizer`2.EnqueuePrefetch(Folder folder, IEnumerable`1 items, Int32 countEstimate, Int32 initialProgress, PrefetchType prefetchType, SynchronizationPriority priority, CancellationToken cancellationToken, Action`1 completed)
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_2.<EnqueueSynchronize>b__6(WorkerStatus status, CancellationToken ct)
at MailClient.Protocols.Exchange.ExchangeGenericCommand.Execute(WorkerStatus status)
at MailClient.Commands.Command.Process(WorkerStatus status)
at MailClient.Commands.DefaultSynchronizationQueue.ThreadWorker(Object threadData)
at System.Threading.Thread.StartHelper.Callback(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Thread.StartCallback()
GUIStatus_Exception_Reported = True
Senden/Empfangen funktioniert sonst soweit aber Problemlos.
- Kalender: Synchornisation klappt solange keine Termine mit fehlerhaftem encoding vorhanden. Allerdings nicht einwandfrei:
Kalendereintrag emClient -> WebIF/OL wird nicht synchronisiert:
log of eM Client 9.2.2258
11:51:44 Exchange Web Services Die Elemente werden in den Ordner '/Kalender' hochgeladen
11:51:44 [Exchange Web Services] System.NullReferenceException: Object reference not set to an instance of an object.
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.GetItemContentInternal(Folder folder, IMailRepositoryItem item, IStoredMimePart basePart, String partName)
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.<>c__DisplayClass38_0.<GetItemContent>b__0(WorkerStatus status, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeGenericCommand.Execute(WorkerStatus status)
at MailClient.Commands.Command.Process(WorkerStatus status)
EnqueuedStackTrace =
at MailClient.Storage.Application.Mail.MailItem.MailPartAdaptor.get_ContentStream()
at MailClient.Mail.MimePartAttachment.ExtractSubjectLine()
at MailClient.Mail.MimePartAttachment.get_RawFileName()
at MailClient.Mail.MimePartAttachment.get_FileName()
at MailClient.Storage.Application.IndexedAttachment.IndexedAttachmentItem.CreateCollectionFromMail(IAccountWithFolder account, UInt64 oid)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at MailClient.Storage.AttachmentIndexer.BaseAttachmentIndexer.ProcessQueue(IEnumerable`1 queue, IAccountWithFolder account, DbIndexedAttachmentRepository indexedAttachmentRepository, CancellationToken cancellationToken)+MoveNext()
at MailClient.Storage.AttachmentIndexer.BaseAttachmentIndexer.DoIndexingItemsInternal()
at MailClient.Storage.AttachmentIndexer.BaseAttachmentIndexer.DoIndexingItems()
at System.Threading.Thread.StartHelper.Callback(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Thread.StartCallback()
GUIStatus_Exception_Reported = True
11:51:44 [Exchange Web Services] System.Threading.Tasks.TaskCanceledException: A task was canceled.
at MailClient.Storage.Synchronization.FolderSynchronizerExtensions.SynchronizeSubfoldersAsync(IFolderSynchronizer synchronizer, Folder folder, SynchronizationPriority priority, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeAccount.SynchronizeIntAsync(Boolean forced)
at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass7_0.<<SynchronizeAsync>b__0>d.MoveNext()
GUIStatus_Exception_Reported = True
11:51:44 [Exchange Web Services] System.Threading.Tasks.TaskCanceledException: A task was canceled.
at MailClient.Storage.Synchronization.FolderSynchronizerExtensions.SynchronizeSubfoldersAsync(IFolderSynchronizer synchronizer, Folder folder, SynchronizationPriority priority, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeAccount.SynchronizeIntAsync(Boolean forced)
at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass7_0.<<SynchronizeAsync>b__0>d.MoveNext()
GUIStatus_Exception_Reported = True
OL (via MAPI)/WebIF -> eMClient wird Synchronisiert allerding mit der bekannten
Zeitzonenproblematik. Konkret Werden diese in UTC angelegt (=2 std. zu "früh") obwohl CEST explizit (in OL) bzw. implizit (WebIF) angegeben wurde. Etwaige Änderungen in eM-Client werden auch nicht wieder zurück synchronisiert.
Appliance steht auf CE(S)T
/etc/localtime -> /usr/share/zoneinfo/Europe/Berlin
timedatectl:
Local time: Do 2024-07-04 11:38:32 CEST
Universal time: Do 2024-07-04 09:38:32 UTC
RTC time: Do 2024-07-04 09:38:32
Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Postfach 2
- Neu angelegt ohne AD/Ldap-Sync, direkt in Grommunio erstellt.
- KEINE Synchronisationsfehler sowohl bei Emails als auch Kalendereinträgen*
- *Bei Kalendereinträgen weiterhin aber die Bugs der Zeitzone / unidirektionalen Synchronisation
Bei mir treten erst ab der Schema_version Exchange2013
wenn explizit gesetzt bzw. die Schema_version entfernt (=Exchange2013_SP1?) in der ews.cfg
wird, die in Post #1 genannten Fehler auf bzw. findet keinerlei Synchronisation mehr statt:
eM Client log:
13:39:52 *POSTFACH 2* Exchange Web Services Synchronisiere Ordner '/Posteingang'
13:39:52 *POSTFACH 2* [Exchange Web Services] System.NullReferenceException: Object reference not set to an instance of an object.
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.UpdateApplicationDataInternal(ExchangeService service, MailItem item, Item message)
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.ConvertApplicationData(ExchangeService service, Item item, CancellationToken cancellationToken)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.ConvertApplicationDataAndSkipUnparsable(ExchangeService service, Item item, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.ChangesToItems(ExchangeService service, IEnumerable`1 changes, CancellationToken cancellationToken)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at MailClient.Protocols.Common.ItemSynchronizeContext`2.<>c__DisplayClass19_0`3.<Synchronize>g__FlushItems|1(Int32 threshold)
at MailClient.Protocols.Common.ItemSynchronizeContext`2.Synchronize[T,TUid,TVid](SynchronizationType synchronizationType, IEnumerable`1 items, Func`2 getUniqueId, Func`2 getVersionId, Func`3 hasChanged, Func`2 isDeleted, Func`2 convertItems, Action`2 updateItem)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.Synchronize(IItemSynchronizeContext`1 synchronizeContext, Folder folder, CancellationToken cancellationToken)
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_2.<EnqueueSynchronize>b__6(WorkerStatus status, CancellationToken ct)
at MailClient.Protocols.Exchange.ExchangeGenericCommand.Execute(WorkerStatus status)
at MailClient.Commands.Command.Process(WorkerStatus status)
EnqueuedStackTrace =
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_0.<EnqueueSynchronize>b__0()
at MailClient.Protocols.Common.AccountBase.RunIfOnline(Action actionIfOnline, Action actionIfOffline)
at MailClient.Protocols.Common.ItemSynchronizer`2.Synchronize(Folder folder, SynchronizationPriority priority, Action`1 completed)
at MailClient.Storage.Application.ItemCollection`2.Synchronize(SynchronizationPriority priority, Action`1 completed, Boolean fromUI)
at MailClient.Storage.Application.Folder.Synchronize(SynchronizationPriority priority, Boolean fromUI)
at MailClient.Storage.Application.Folder.Synchronize(Boolean forced, Boolean fromUI)
at MailClient.Protocols.Common.FolderSynchronizer.FolderActivated(Folder folder, Boolean goingOnline)
at MailClient.Protocols.Common.FolderSynchronizer.GoOnlinePost()
at MailClient.Protocols.Exchange.ExchangeAccount.GoOnlineInt()
at MailClient.Protocols.Common.AccountBase.ChangeOnlineState(Boolean online, OfflineReason offlineReason)
at MailClient.Protocols.Common.AccountBase.GoOnline()
at MailClient.Protocols.Common.AccountBase.RunIfOnline[T](Func`1 actionIfOnline, Func`1 actionIfOffline)
at MailClient.Protocols.Common.SynchronizableMailAccount.Synchronize(SynchronizationPriority priority)
at MailClient.Accounts.BindingAccountBase.Receive()
at MailClient.Accounts.AccountManager.ReceiveAllInternal(Boolean checkIncludeInGlobalOperations)
at MailClient.Accounts.AccountManager.SendAndReceiveAll(Boolean checkIncludeInGlobalOperations)
at MailClient.UI.Forms.formMain.sendReceiveAll()
at MailClient.UI.Forms.formMain.stripButton_Refresh_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at MailClient.Common.UI.Controls.ControlToolStrip.ControlToolStripButton.PerformClick()
at MailClient.Common.UI.Controls.ControlToolStrip.ControlToolStripButton.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.UserControl.WndProc(Message& m)
at MailClient.Common.UI.Controls.NonFlickeringUserControl.WndProc(Message& m)
at MailClient.Common.UI.Controls.AutomationViewUserControl.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
at Interop.User32.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.Interop.Mso.IMsoComponentManager.FPushMessageLoop(UIntPtr dwComponentID, msoloop uReason, Void* pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(msoloop reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(msoloop reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(ApplicationContext context)
at MailClient.Program.<>c.<Main>b__187_3()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at MailClient.Common.UI.Forms.BaseForm.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
at Xilium.CefGlue.Interop.libcef.run_message_loop()
at MailClient.Program.Main(String[] args)
GUIStatus_Exception_Reported = True
13:39:52 *POSTFACH 2* [Exchange Web Services] System.Threading.Tasks.TaskCanceledException: A task was canceled.
at MailClient.Storage.Synchronization.FolderSynchronizerExtensions.SynchronizeSubfoldersAsync(IFolderSynchronizer synchronizer, Folder folder, SynchronizationPriority priority, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeAccount.SynchronizeIntAsync(Boolean forced)
at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass7_0.<<SynchronizeAsync>b__0>d.MoveNext()
GUIStatus_Exception_Reported = True
13:39:52 *POSTFACH 1* Exchange Web Services Synchronisiere Ordner '/Posteingang'
13:39:52 *POSTFACH 1* [Exchange Web Services] System.NullReferenceException: Object reference not set to an instance of an object.
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.UpdateApplicationDataInternal(ExchangeService service, MailItem item, Item message)
at MailClient.Protocols.Exchange.ExchangeMailSynchronizer.ConvertApplicationData(ExchangeService service, Item item, CancellationToken cancellationToken)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.ConvertApplicationDataAndSkipUnparsable(ExchangeService service, Item item, CancellationToken cancellationToken)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.ChangesToItems(ExchangeService service, IEnumerable`1 changes, CancellationToken cancellationToken)+MoveNext()
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at MailClient.Protocols.Common.ItemSynchronizeContext`2.<>c__DisplayClass19_0`3.<Synchronize>g__FlushItems|1(Int32 threshold)
at MailClient.Protocols.Common.ItemSynchronizeContext`2.Synchronize[T,TUid,TVid](SynchronizationType synchronizationType, IEnumerable`1 items, Func`2 getUniqueId, Func`2 getVersionId, Func`3 hasChanged, Func`2 isDeleted, Func`2 convertItems, Action`2 updateItem)
at MailClient.Protocols.Exchange.ExchangeItemSynchronizer`2.Synchronize(IItemSynchronizeContext`1 synchronizeContext, Folder folder, CancellationToken cancellationToken)
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_2.<EnqueueSynchronize>b__6(WorkerStatus status, CancellationToken ct)
at MailClient.Protocols.Exchange.ExchangeGenericCommand.Execute(WorkerStatus status)
at MailClient.Commands.Command.Process(WorkerStatus status)
--- End of stack trace from previous location ---
at MailClient.Protocols.Exchange.ExchangeAccount.SynchronizeIntAsync(Boolean forced)
at MailClient.Protocols.Common.SynchronizableMailAccount.<>c__DisplayClass7_0.<<SynchronizeAsync>b__0>d.MoveNext()
EnqueuedStackTrace =
at MailClient.Protocols.Common.ItemSynchronizer`2.<>c__DisplayClass40_0.<EnqueueSynchronize>b__0()
at MailClient.Protocols.Common.AccountBase.RunIfOnline(Action actionIfOnline, Action actionIfOffline)
at MailClient.Protocols.Common.ItemSynchronizer`2.Synchronize(Folder folder, SynchronizationPriority priority, Action`1 completed)
at MailClient.Storage.Application.ItemCollection`2.Synchronize(SynchronizationPriority priority, Action`1 completed, Boolean fromUI)
at MailClient.Storage.Application.Folder.Synchronize(SynchronizationPriority priority, Boolean fromUI)
at MailClient.Protocols.Common.FolderSynchronizer.SynchronizeFoldersForOfflineUse(IEnumerable`1 folders)
at MailClient.Protocols.Common.FolderSynchronizer.<>c__DisplayClass16_0.<EnqueueGetFolderList>b__1(CompletionEventArgs completionEventArgs)
at MailClient.Protocols.Common.RequestIssuer.<>c__DisplayClass12_0.<RunRequest>b__0(Object sender, CompletionEventArgs e)
at MailClient.Commands.Command.Complete()
at MailClient.Commands.Command.Process(WorkerStatus status)
at MailClient.Commands.DefaultSynchronizationQueue.ThreadWorker(Object threadData)
at System.Threading.Thread.StartHelper.Callback(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Thread.StartCallback()
GUIStatus_Exception_Reported = True
gromox-http log:
[2024-07-04 13:39:52.468567]: ews: unknown field URI 'message:ReplyTo' (ignored)
[2024-07-04 13:39:52.468972]: ews: unknown field URI 'item:Flag' (ignored)
[2024-07-04 13:39:52.487806]: ews: unknown field URI 'folder:DistinguishedFolderId' (ignored)
[2024-07-04 13:39:52.700821]: ews: unknown field URI 'message:ReplyTo' (ignored)
[2024-07-04 13:39:52.700964]: ews: unknown field URI 'item:Flag' (ignored)