Imap

列出使用者在 Cyrus IMAP 中可以訪問的郵箱?

  • October 29, 2012

我想知道是否有辦法列出使用者可以通過 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";
       }
}

引用自:https://serverfault.com/questions/442638