Just occasionaly dump a list of users, and feed it into the MTA's favorite format. Or do it after "newuser" gets ran. Or whatever frequency/event makes sense.
I've thought of that; but it really needs to be run whenever a mailbox is created or destroyed. Or at least when a shared mailbox or user's inbox is created or destroyed. If that were only possible via cyradm, I could just wrap a script around that; but it can be done my some MUAs as well.
And whatever utility I used to do that would need to know the same Cyrus implementation details and be kept in sync with any Cyrus changes.
Nothing says that _cyrus_ has to be queried on every "RCPT TO:"..
Nothing except the principal of implementation opacity that the Cyrus architecture implements so well for basic delivery and mailbox access.
-Pat