Listar caixas de correio às quais um usuário tem acesso no Cyrus IMAP?

4

Gostaria de saber se existe uma maneira de listar todas as caixas de correio às quais um usuário tem acesso via cyradm (ou outros meios). Pode-se executar lam user.% e analisar a saída, mas acho que é uma porcaria:)

    
por zhenech 26.10.2012 / 13:12

1 resposta

1

Respondendo a mim mesmo depois de pesquisar 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";
        }
}
    
por 29.10.2012 / 16:22

Tags