Интересно, есть ли способ перечислить все почтовые ящики, к которым пользователь имеет доступ через cyradm (или другие средства). Можно было бежать lam user.%
и разобрать вывод, но я думаю, что это отстой :)
Отвечая себе после того, как ковырялся с IMAP::Admin
#!/usr/bin/perl
use IMAP::Admin;
$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})) {
print $mailbox."\n";
}
}