Z-Push is an open source ActiveSync solution. Whilst primarily designed to work with Zarafa, it will also work with most email solutions directly (via IMAP); and can also use 3rd party interfaces (known by Z-Push as backends) in order to access email data. Obviously ActiveSync is about more than just email, and Z-Push aims to sync all those other data types (contacts, calendar, tasks etc).
Z-Push v1 wasn't intended to support emails with HTML content, but there is an Active Sync 12.1 branch of Z-Push v1 that can be used (officially its not of a production standard, but it does work very well, so well some have commented that its better than the inbuilt AS support available in Zimbra Network Edition, maybe, maybe not).
Z-Push v2 has been re-engineered from the ground up, and is a huge improvement on v1. HTML content is supported by default; sync data and logging is now stored in better places; and (probably most importantly), it seems to work much more efficiently, causing less of a battery drain on mobile devices.
In order to get fuller integration between Zimbra and Z-Push requires the use of a Zimbra backend, which is written/championed by a Zimbra forum member who goes by the name of liverpoolfcfan. He deservers a lot of respect and praise for his past and continuing efforts.