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}); }