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

3
我正在使用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

添加

remove_when_empty => 0,

针对$mgr->open的调用。


我是不是漏掉了什么,还是这个没有文档记录?我在open()的选项中没有看到它。 - brian d foy
@brian d foy,open 的文档中说:“有关文件夹选项的描述,请参阅每种邮件箱类型的构造函数 Mail::Box::new() 中的选项。” 其中描述了 remove_when_empty - cjm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接