Sparked by the purchase of a new phone with Internet connectivity and native support for push email (ableit with ActiveSync), I decided to see what I could do about pushifying the IMAP server at work.
We run Dovecot 1.1 with a MySQL backend and Postfix for MTA duties. Everything requires both TLS and SSL for authentication and everything requires authentication except for sending mail from the local subnet. It works pretty well. I never touch the thing anymore, it just runs. However, it doesn’t support push email and it certainly doesn’t support ActiveSync. So I went looking for something that could do push email to my spankin’ new phone.
I was surprisingly happy to discover z-push, an open source, standalone ActiveSync implementation in PHP. Well hot damn!
I initially installed the latest stable release, but then quickly tried the SVN trunk for any potential fixes that have yet to make it out to the stable release because I wasn’t having much success. After a few simple problems got resolved and I was updated to the SVN trunk things started to work… kind of. The initial sync takes forever! I didn’t have the patience to wait for all my mail to download because it appeared to be taking several minutes per email. The folder list loaded right up and my nearly empty inbox too but any folder with more than a few messages was taking forever to sync. Not to mention the apache server started to churn CPU pretty hard on the server. Also, it seemed the sync would only even start to work if I had “No Limit” selected on the iPhone for history of emails to sync. Maybe the large volume initial sync by using “No Limit” is just too taxing and that’s why it’s brutally slow but I kept getting “Cannot Get Mail – The connection to the server failed.” on my iPhone if I selected any option besides “No Limit”.
On top of that, push didn’t work!
I’ll keep plugging away at it next week, maybe post on the z-push forums to see if I can get this figured out. Cheers for now.