PerlでIMAPのフォルダー一覧を取得する
IMAP へのアクセスは Net::IMAP::Client でできます。Encode::IMAPUTF7 をつかうと日本語フォルダもデコードしてとれます。
use 5.017000;
use autodie;
use Net::IMAP::Client;
use Encode;
use Encode::IMAPUTF7;
binmode *STDOUT, ':utf8';
my $imap = Net::IMAP::Client->new(
server => 'IMAP_SERVER',
user => 'USERNAME',
pass => 'PASSWORD',
ssl => 1,
port => 5963,
) or die "Cannot connect to IMAP server";
$imap->login or die "Cannot login: " . $imap->last_error;
my @folders = $imap->folders;
for (values $imap->status([$imap->folders])) {
say decode('IMAP-UTF-7', $_->{name});
}
Published: 2012-07-27(Fri) 06:12