Как я могу остановить Perl's Mail :: Box :: Manager от удаления каталогов? - PullRequest
3 голосов
/ 22 сентября 2010

Я использую модуль 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();

Любые предложения очень получили.Благодаря.

1 Ответ

5 голосов
/ 22 сентября 2010

Добавить

remove_when_empty => 0,

на $mgr->open вызов.

...