SirAdmin … a GUI replacement for cyradm
Update
I've decided to move this over to my Google Sites pages, in the hope that someone will pick up the source code and run with it, as I have no real desire to work on the code anymore, but I regularly get emails from people who find this to be a useful tool.
You can get the application here: SirAdmin.app.zip
You can get the source code here: SirAdmin-source.zip
I initially wrote SirAdmin as a diagnostic tool, so that when users reported problems with certain mailboxes, my IT support staff who were not comfortable with the command line interface of cyradm could assign themselves an ACL to view such mailboxes in their own email client in order to quickly diagnose whether the reported problem was server-side or client-side.
However, it quickly became apparent that the usefuleness of this app extended beyond that, in that it allows non-admin users to share mailboxes with one another.
If you’re not familiar with cyradm, it is a command line tool that ships with the Cyrus IMAP server. You can see the man page for it here at developer.apple.com, and O’Reilly have published Chapter 9: Cyrus System Administration for free from their book Managing IMAP.
So my app SirAdmin is essentially a GUI replacement for cyradm, in that it allows you to locally or remotely administer your Cyrus IMAP server. I’ve tested it against the Cyrus server from Mac OS X Server 10.3 and 10.4, as well as Cyrus running on RedHat. It isn’t merely a wrapper around the cyradm code by the way. All the bugs are my own… :)
It does require OS X 10.4 on the client, where you are running the application, although you can talk to 10.3 IMAP servers
It allows you to create, rename, delete and reconstruct mailboxes, and also allows you to set Access Control Lists for IMAP mailboxes.
This is perhaps the most useful function, in that as an admin you can create globally shared mailboxes, or as a user you can choose to share out parts of your IMAP mailbox hierarchy with other users.
It also gives you an easy interface to be able to configure “plus addressing”, where you can send emails topostuser+aSharedMailbox@your.mail.doman and have them be delivered directly to a particular mailbox, rather than to the inbox of a particular user.
Here are some screenshots to illustrate what you can do:
It's still a work in development, the obviously missing features are:
Kerberos support
The ability to specify particular mail partitions for particular mailboxes
Untested behind a SOCKS proxy (would love feedback on this...)
Mac Help for SirAdmin isn't finished
It could also do with more diagnostic info, like number of messages in a mailbox, last message received, view message excerpts, etc.
but it currently does some nifty stuff like:
Keychain Support.
SSL support.
CRAM-MD5 support, with an attempted fallback to plain-text
Create, Delete, Rename, Reconstruct Mailboxes.
Create, Delete Access Control Lists for Maiboxes.
Auto-complete usernames for ACLs based upon global mailbox listing
Auto-complete usernames by searching your configured Directory Access nodes, with optional min/max uid filtering
View Quotas, Quota Root and Quota Used.
View and Edit Mailbox Comments, Squat Indexing, and Auto-Expiry age for messages
View Mailbox Last Updated date, size and partition
Thanks go out to:
Mark Daniel for designing the icon
Dustin Voss for his most excellent AsyncSocket class
Adam Gerson for his useful AGKeychain class
Dave Dribin for his Base64 encoding/decoding categories