ActiveSync support

Exchange ActiveSync (EAS) is a protocol designed for client synchronization of :

  • emails
  • contacts
  • calendar events
  • tasks
  • notes
  • sms (if the library supports it)

It is kinder to mobile devices than using DAV directly as it only requires a single connection to the server in order to retrieve changes.

It’s also possible to use it to manage a mobile device via a set of policies.

The best PHP library afaik is the one developed by Michael Rubinsky for the Horde project.

Here is the full list of features:
https://wiki.horde.org/ActiveSync/FeatureGrid

Since Horde libraries are already used in the Mail app, it seems the dev team is already familiar with integrating them inside an app, so there shouldn’t be any major hurdle to building an efficient sync app.

Here is the API:
https://dev.horde.org/api/master/lib/ActiveSync/

7 Likes

This is a great idea.
It would be great to syncronize NextCloud apps with Mail and Collaboration servers such as Zimbra, or even Microsoft Exchange.

Regards,
Vitor Rolo

You could install Z-Push. Its a PHP Script which works as a EAS Gateway to other Apps. Primary use was Zarafa or Kopano, but you can use a other Backend like BackendIMAP or BackendCalDAV or BackendCardDAV or BackendCombinded. The First ones connects to a single Backend, but BackendCombined connects to more than one Backend. So you can use IMAP, CalDAV and CardDAV together. Only disadvantage is, all Backend’s must share the same Credentials, as they are checked only once. Its easy to install, just download from http://z-push.org/download/ unpack, edit your Webserver Config to use the Alias, define the Backend(s) and thats it.

Thanks for describing how it works. It’s not as powerful as the Horde libraries, but it seems to have the advantage of being easy to set-up. Hopefully someone will have a go at packaging it as an app.

IMAP and CalDAV does work in my case since some minutes. I would like to Test CarDAV to in the evening. If i have all up and running, i could write a small tutorial. However, i fear on my Machine there are some ressource limitation, because its only a small Raspberry Pi. So maybe we see some timeouts in nginx logfile and as a result some loop message from z-push. This was the case, as i used a similar setup with Baikal Server on the same Machine before. But maybe, i dont so much TCP Connections with NextCloud. On bigger setups, this should be no problem.

That would be awesome, thanks @Dist1958

+1 - this would be great!

@Dist1958 Now 2 years later, is there any progress? Did you get everything working?
Maybe you can decide to create the mentioned tutorial. I would appreciate it.

Here it is:

+1 - this would be great!

As ActiveSync needs a specific url it will not be posible to do this with a nextcloud plugin (or at least not in a secure way because you do not want to give a script the rights to alter webserver config…)

@swindhab I have a feeling that the posters in this thread have completely different ideas about what Active Sync is supposed to do in the context of Nextcloud.

@joho68 Instead of resurrecting a six year old thread, maybe you could open a new thread or a feature request on Github and describe in detail what your goal is.

Do you want Nextcloud to act as an ActiveSync Server? (Unlikely that this will be implemented directly in Nextcloud) But maybe someone could write a guide on how to set up a separate service e.g. Z-Push that uses Nextcloud as a backend.

Or do you want Nextcloud to be able to connect to other services via ActiveSync. That would be a valid feature request imho.

Sorry, my bad. I often think it’s a good idea to keep threads together than spreading them out all over the place, this becomes in particular important (imho) when you use search engines to search for a topic. Having 500 pages/links returned in a search result is rarely that useful.

Anyway, my personal reflection on Nextcloud E-Mail is that it will be hard to consider it a “full blown solution” if you can’t hook up a “standard smartphone ‘mail setup’” and get contacts and calendar sync without too much technical knowledge/skill.

But that’s probably just me. This may, in fact, be nowhere near what Nextcloud is aiming for.

Hmmm - I think, that you are on the wrong way.

As far as I know, Nextcloud mail, calendar, tasks, notes are accessing an external mailbox, because Nextcloud has no one.
So you will need to add the Active sync funcion to the server, where the mailbox is located (outlook.com, Kopano, OpenExchange and other).

Please correct me, if I am wrong…

Yes you’re right. But Z-Push can use CalDAV / CardDAV as a backend in order to serve calendar and contacts. Of course, you would also have to setup a mail server in addition to Nextcloud in order to serve mail. https://mailinabox.email/ does exactly that, they use Postfix/Dovecot for the Mail part, Nextcloud for Calendar/Contacts and Z-Push to serve everything to ActiveSync Clients.

As @Mornsgrans already said, Nextcloud doesen’t come with an email server, so it can’t serve email, even if you would add Z-Push. This has been discussed multiple times, and the Nextcloud devs are not interested in addig a mail server to Nextcloud. So you would have to add the missing bits yourself or you could use something pre-built like Mail-in-a-Box, Mailcow, Kopano etc… But be aware, running your own mail-server does bring its very own challenges…

1 Like