I wonder if there is a way to list all mailboxes a user has access to via cyradm (or other means). One could run lam user.% and parse the output, but I think that sucks :)

-

Answering myself after poking around with IMAP::Admin

#!/usr/bin/perl

$imap = IMAP::Admin->new('Server' => 'localhost', 'Login' => 'cyrus', 'Password' => 'cyrus', ); my$finduser = "root"; # the user you search for
my @mailboxes = $imap->list("user.%"); foreach my$mailbox (@mailboxes) {
my %list = $imap->get_acl($mailbox);
if (defined($list{$finduser})) {