LDAP provides a number of benefits:
- centralized configuration, good when lots of servers need access to the same data
- well integrated with MTAs (for mail routing)
- can be used for authentication
- can be used for a global address list/corp directory, and is supported by MUAs (Thunderbird, Outlook, etc)
- you can replciate the data, for high availability
We've done our best to try and hide some of the LDAP management issues, but it is still there.
Internally the system was designed around some Java interfaces/abstract classes (com.zimbra.cs.account.*, Provisioning.java in particular), with our implementation via LDAP (com.zimbra.cs.account.ldap.*).
It is possible that you coulld actually back all the accounts, config, via a database like MySQL by writing a MySQL version of those interfaces. This might make sense for a small/single-node install.
The remaining issue would be Postfix mail routing, but you could write some Perl/Java/Ruby that pulled the data out of the server and put it into dbm maps that Postfix looked at.
Ideally someone in the community would do this work and contribute it back
roland