如何阻止Perl的Mail :: Box :: Manager删除目录?

时间:2010-09-22 15:20:39

标签: perl maildir

我正在使用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 个答案:

答案 0 :(得分:5)

添加

remove_when_empty => 0,

$mgr->open来电。