【问题标题】:How can I stop Perl's Mail::Box::Manager from removing directories?如何阻止 Perl 的 Mail::Box::Manager 删除目录?
【发布时间】:2010-09-23 04:22:38
【问题描述】:

我正在使用 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();

任何建议都非常受欢迎。谢谢。

【问题讨论】:

    标签: perl maildir


    【解决方案1】:

    添加

    remove_when_empty => 0,
    

    拨打$mgr->open 电话。

    【讨论】:

    • 我是遗漏了什么还是没有记录?我没有在 open() 的选项下看到它。
    • @brian d foy,open 的文档说“有关文件夹选项的描述,请参阅构造函数 Mail::Box::new() 的每种类型邮箱的选项。”那里描述了remove_when_empty
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多