X-Git-Url: https://code.th-h.de/?p=usenet%2Fusevote.git;a=blobdiff_plain;f=UVreadmail.pm;h=0a1f98f7fe56b58f17d862fde657c3a516c5c3ed;hp=01d062fd510c3fadd7133d6a6feaf36bc4b17fb1;hb=b4bfb234881080210ca8d019b8aa317b3a709d56;hpb=0470756d59c43b341cabfd0833a38245149bb770;ds=sidebyside diff --git a/UVreadmail.pm b/UVreadmail.pm index 01d062f..0a1f98f 100644 --- a/UVreadmail.pm +++ b/UVreadmail.pm @@ -124,18 +124,31 @@ sub process { # Mailbox / Maildir } else { + my $readfilename; + + if ($caller==0) { + # called from uvvote.pl: use configured mailbox file + $readfilename = $config{votefile}; + } else { + # else use filename provided in function call + $readfilename = $filename; + # and create backup archive filename + $filename .= '.processed'; + } + my $mgr = Mail::Box::Manager->new; my $folder; eval{ - $folder = $mgr->open( folder => $config{votefile}, + $folder = $mgr->open( folder => $readfilename, create => 0, access => 'rw', type => $config{mailboxtype}, expand => 'LAZY', + remove_when_empty => 0, ); }; - die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $config{votefile})) . "\n\n" if $@; + die UVmessage::get("READMAIL_NOMAILFILE", (FILE => $readfilename)) . "\n\n" if $@; # Iterate over the messages. foreach (@$folder) { @@ -149,7 +162,7 @@ sub process { } else { $fromline .= 'foo@bar.invalid'; } - $fromline .= ' ' . localtime() . "\n"; #strftime ('%a %b %d %H:%M:%S %Y', localtime) . "\n"; + $fromline .= ' ' . localtime($_->timestamp()) . "\n"; push (@mails, $fromline . $mail); } }