Evolution w/microsoft365 account type doesn't appear to work with server notifications

Hi,

I am using Evolution 3.54.3 on Fedora 40 with a Microsoft 365 account type.

I also use the same Evolution and Fedora with an EWS account type.

When using EWS, there is an option in the account preferences:

Account Editor → Receiving Options → Listen for server change notifications

This option is selected for Evolution/EWS. In addition, I also have the default of:
Check for new messages every 60 minutes

What I have noticed is that Evolution w/EWS actually gets my e-mail in much less than the 60 minute interval. It does feel a lot like Outlook. I don’t think about the check interval b/c I can tell Evolution is getting my e-mail quicker/sooner. I want to say it’s as fast as someone sends me e-mail, but I know it’s not that. It does feel like the server notifies Evolution (referring to the option above) that I have new mail within a few minutes (or less) of the e-mail showing up in OWA. I get it pretty quick compared to having to wait for 60 minutes.

It doesn’t feel like this is happening with Evolution and Microsoft 365.

Account Editor → Receiving Options → Listen for server change notifications
This option is not present for Microsoft 365 account types.

I am bringing this up because it does appear that I must wait for the 60 minute cycle to get new e-mail w/Microsoft 365 account type. Meaning, someone could send me an e-mail in the first 10 minutes of a 60 minute cycle and I won’t “see” that e-mail in Evolution for 50 minutes.

Is there a way to log either the cycle of e-mail checking or log when Evolution “sees” new e-mail in my Inbox?

Best,

/allen

Hi,
your observation is correct. There is (currently) no way to get “live
notifications” of the server-side changes for the Microsoft 365
accounts. The reason is that they (Microsoft) changed the things in the
Microsoft Graph API in a way incompatible for usual desktop apps. The
notifications can be received through webhooks, but they require a
server to send the notification too, which is a no-go for almost all
desktop machines (users have rarely a public IP, the less they run a
web server on that machine the Microsoft could contact over https://
with the notifications). The Azure has an Event Hub and Event Grid
options, but I’m not able to set it up with my developer account (their
requirements to create a test Event Hub/Grid is something I cannot
satisfy).

More/similar information can be found here:

Bye,
Milan
1 Like

Hi Milan,

That leaves change tracking / delta query doesn’t it? It does appear that the throttling limits are high enough for a single user use case that Evolution could poll a Microsoft Graph endpoint fast enough to “simulate” the current EWS feel of server side events with Evolution?

From Microsoft Graph service-specific throttling limits - Microsoft Graph | Microsoft Learn

Limits per mailbox:

10,000 API requests in a 10-minute period v1.0 and beta endpoints
Four concurrent requests v1.0 and beta endpoints
150 megabytes (MB) upload (PATCH, POST, PUT) in a 5-minute period v1.0 and beta endpoints

The important Outlook service resources are there for delta query: Calendar API, Mail API and Personal contacts API. There’s also a dependency property to help with ordering the requests within a batch.

/allen

Hi,
it’s up to the user. Set whichever refresh interval you prefer.
Bye,
Milan

Hi Milan,

Yep, I’ll give this a try. Fiddling with that interval to something aggressive, 1 or 2 minutes, has been problematic in the past for me, but that was long ago…

Best,

/allen