We have a few people using Zimbra with Virtualmin (I work on Virtualmin), and I believe even the LDAP integration has been used successfully.
In it's simplest form (assuming users are managed on the Zimbra system with no integration via LDAP) you'd just setup Virtualmin to not manage mail, and configure the DNS template to point them MX record(s) at your Zimbra server.
In a more complex form, you'd need Zimbra and Virtualmin talking to the same LDAP server, so that user data can be shared. Jamie wrote up some docs for configuring Virtualmin to use LDAP here:
Combining Virtualmin and LDAP | Virtualmin
If you run into any problems on the Virtualmin side, you'll probably want to bring them up in our forums. There are a handful of people there who have setup Zimbra with Virtualmin, so they might be able to lend advice.