[mhonarc] Do not require 3 Received headers
- From: Olav Vitters <ovitters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mhonarc] Do not require 3 Received headers
- Date: Tue, 16 Feb 2010 08:15:31 +0000 (UTC)
commit dccdd23b25b8a8b1fa5a9ffa5c401e5da4a48a99
Author: Olav Vitters <olav bkor dhs org>
Date: Tue Feb 16 09:10:33 2010 +0100
Do not require 3 Received headers
Some archived email does not have that
archive.pl | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/archive.pl b/archive.pl
index 7e4ccd7..2a29ad7 100755
--- a/archive.pl
+++ b/archive.pl
@@ -93,14 +93,15 @@ sub handle_msg {
my $msg = new Mail::Internet ( $msg_lines );
- $received_text1 = $msg->head()->get ("Received", 0);
- $received_text2 = $msg->head()->get ("Received", 1);
- $received_text3 = $msg->head()->get ("Received", 2);
+ my $received_count = $msg->head()->count ("Received");
+ $received_text1 = $received_count >= 1 ? $msg->head()->get ("Received", 0) : undef;
+ $received_text2 = $received_count >= 2 ? $msg->head()->get ("Received", 1) : undef;
+ $received_text3 = $received_count >= 3 ? $msg->head()->get ("Received", 2) : undef;
my $time;
if (defined $received_text1) {
- $received = new Mail::Field ('received', $received_text1);
+ $received = Mail::Field->new('Received', $received_text1);
if ($received->parsed_ok ()) {
my $parse_tree = $received->parse_tree();
$time = str2time ($parse_tree->{date_time}->{whole});
@@ -110,7 +111,7 @@ sub handle_msg {
}
}
elsif (defined($received_text2)) {
- $received = new Mail::Field ('received', $received_text2);
+ $received = Mail::Field->new('Received', $received_text2);
if ($received->parsed_ok ()) {
my $parse_tree = $received->parse_tree();
$time = str2time ($parse_tree->{date_time}->{whole});
@@ -120,7 +121,7 @@ sub handle_msg {
}
}
elsif (defined($received_text3)) {
- $received = new Mail::Field ('received', $received_text3);
+ $received = Mail::Field->new('Received', $received_text3);
if ($received->parsed_ok ()) {
my $parse_tree = $received->parse_tree();
$time = str2time ($parse_tree->{date_time}->{whole});
@@ -137,7 +138,6 @@ sub handle_msg {
}
}
}
-
if(defined($time)) {
if(defined($self->{start_time})) {
return if($self->{start_time} > 0 && $time < $self->{start_time});
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]