3
我使用Perl模塊Mail::Box::Manager從Maildir中讀取消息並將它們移動到另一個目錄中。一旦腳本完成處理Maildir中的郵件消息,它似乎也會刪除cur /和new/Maildir目錄,並且需要重新創建Maildir文件/目錄。如何停止Perl的Mail :: Box :: Manager從刪除目錄?
我不希望腳本刪除文件夾並不得不重新創建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();
任何建議大受接待。謝謝。
謝謝,工作過。 – Imo 2010-09-22 18:25:05
我錯過了什麼或者是沒有記錄的?我沒有在open()的選項下看到它。 – 2010-09-22 20:24:35
@brian d foy,'open'文檔說「有關文件夾選項的說明,請參閱構造函數的選項[Mail :: Box :: new()](http://search.cpan.org/ perldoc?Mail :: Box#Constructors)爲每種類型的郵箱。「在那裏描述'remove_when_empty'。 – cjm 2010-09-22 21:17:20