Old official page [z-push] Synchronize emails, contacts and calendar

Hi everybody,

I have updated z-push z-push_ynh to be compliant with most of YEP requirements.
It should be mostly decent now :slight_smile:

1- What is z-push

The push is a php backend to ActiveSync protocol (also called Exchange).
It makes the link between imap, carddav and caldav and the ActiveSync protocol

ActiveSync is an interesting protocol, which, amongst other things, let us configure our mobile phone in one go (and in a very simple way), instead of adding manually imap, carddav and caldav.

The ActiveSync protocol has been created by Microsoft and has its own limitation/restriction (hence the fixed /path argument)
z-push is a AGPL-3 free implementation of this protocol push by the company Zarafa

I am not related to them.

2- How to use it

ActiveSync is very useful to configure your mobile phone to receive email, contacts and calendars.

z-push simplifies everything for you, no need to worry about imap or baikal parameters

Simply add a new “ActiveSync” account (also called “Exchange” sometimes), indicate your username, email address and server domain name.
It should fine everything easily.

3- Current situation

The “original” sources used in z-push_ynh are from a fork of z-push.org and added some extra stuff such as carddav and caldav.
These sources are fmbiete/Z-Push-contrib
These sources haven’t had any proper update since long time (1 to 2 years)

4- Future ?

On the other side, the z-push.org team is keeping the good work with continuous updates (new release every two months ?) and they now integrate directly carddav and caldav backends support (which is great).

This let me think that it may be the right time to come back to the original sources. And it is what I did on the fork z-push (fork to test stuff)
The aim of this fork is to be merged into the “official” z-push_ynh once proven working as well or better than the “old” sources.

So, ready to test to let us know if it works well ? :slight_smile: :slight_smile:

1 Like

I forgot to mention it, but if you are on windows 10, the native (very) basic mail client offers ActiveSync connectivity.

Simply click on “accounts”
-> then add a new account
-> Advanced setup
-> Excahnge activesync
-> fill the fields and that’s it !

Automatic sync of emails, contacts and calendar (if you have baikal installed on your server)

Nice! I had never heard of ActiveSync, would definitely try it, thanks a lot!

No problem, let me know if it works fine.

I have a weird issue (which was there already with the “old” sources) where the “sent” items are not shown via z-push in the mobile phone until at least 1 email has been sent from roundcube or rainloop. Very weird.
As if z-push doesn’t see the folders (or create them maybe).

Hey maxime,

I want to use your Z-Push package. Installation went fine, I can access the Z-Push page (domain/Microsoft-Exchange-Active-Sync or something like this). I failed to configure EAS for eM Client though. I will try this in more detail (and get some diagnostic logs) in the weekend but I would ask you to provide an example configuration (e.g. in eM Client one can configure the page for the Exchange service, username including domani? slash at the end of the domain etc. pp) so I have a working example configuration to work with.

Best Regards,


Good evening andy,

I will consider that your domain name server is “domain.tld”, that your suer is named “john” and that his email “john@domain.tld”.
Also, I will consider that you have the baikal app installed on the same domain domain.tld
Then, it would make things easier if you have a Let’s encrypt ssl certificate or a certificate validated by a third party authority (not a self-signed certificate)
Lastly, I consider that you used your user john at least once with roundcube or rainloop to send an email to anybody (if not sure, just send a test email to admin@domain.tld)

Then, when you setup your ActiveSync Exchange account, you simply need to do :slight_smile:

  • email address : john@domain.tld
  • password : john’s password
  • username : john
  • domain : domain.tld
  • server : domain.tld
  • Use ssl : yes
  • Account name : domain.tld

And everything shoudl work out of the box :slight_smile: (don’t forget the step where you send at least one email with roundcube/rainloop as there is a bug with z-push who cannot create the Sent folder if it doesn’t exist already)

Thanks for your support. The problem is that eM Client is using Microsoft Exchange Web Services (EWS) instead of Exchange Active Sync (EAS) to connect to the server. Z-Push “only” supports EAS.

As far as I can tell the your package works fine. I have identified the following limitations:

  • Exchange autodiscovery does not seem to work even when using a valid certificate from LetsEncrypt. Could be a problem on my side as I am using a different login name from the eMail address (email: FirstName@domain.tld, login: FirstNameLastName) . Based on the Z-Push wiki it is supported. It is not the most important feature anyway :slight_smile:.
  • LetsEncrypt (Yunohost - Domains - Domain - Use LetsEncrypt) only provides a certificate for domain.tld but not for sub.domain.tld.

Btw the LetsEncrypt issue is not a problem with your package but I wanted it documented in case another user stumbles upon it.

Thanks und have a nice day,


Hi Andy,

For the Let’s Encrypt issue, if you install z-push on sub.domain.tld (which means your emails will be sent with an address john@sub.domain.tld), then you need to install the subdomain within yunohost admin panel. And here you can also add Let’sEncrypt for the subdomain.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.