Earlier quoted context omitted.
I personally found z-push very buggy. Also you need your own DAV servers for calendar and contacts AFAIK. I found Horde and SOGo much more reliable, I went eventually with SOGo as I thought it was weird using PHP for a long running server. With php stuff (horde and z-push) I had to edit too many timeouts etc.
Thanks, I was also considering sogo but I thought z-push would be more reliable as it is older.
SOGo being written in obj-c means it's fundamentally much better suited to this task.