Я использую модуль Perl Mail::Box::Manager читать сообщения из Maildir и перемещать их в другой каталог. После того, как сценарий завершит обработку почтовых сообщений в Maildir, он также удалит каталоги cur/ и new/Maildir, а файлы/каталоги Maildir необходимо будет создать заново.
Я не хочу, чтобы скрипт удалял папки и заново создавал структуру Maildir.
У меня есть что-то простое, например:
#!/usr/bin/perl
use Mail::Box::Manager;
my $cnt = 0;
my $mgr = Mail::Box::Manager->new;
my $folder = $mgr->open( folder => '/home/vmail/mailfolder/',
access => 'rw',
type => 'maildir',
log => 'DEBUG',
);
foreach my $msg ( $folder->messages ) {
# ... doing some processing of $msg here, then, move the mail for storage
my $filename = $msg->filename || "NA";
$filename =~ m#(.*)/new/(.*)$#;
$mgr->moveMessage("/dir/$filename",
$folder->message($cnt),
create => 1 );
$cnt++;
}
$folder->close();
Любые предложения очень приняты. Спасибо.