--- trunk/mbox2swish.pl 2004/05/06 12:40:11 12 +++ trunk/mbox2swish.pl 2004/05/06 16:53:40 13 @@ -4,6 +4,8 @@ use Data::Dumper; use XML::Simple; use Text::Iconv; +use Date::Parse; +use POSIX qw(strftime); my $iso2utf = Text::Iconv->new('ISO-8859-2','UTF-8'); @@ -21,7 +23,6 @@ foreach my $message ($folder->messages) { my $id = $message->messageId; - print STDERR "## $id\n"; my $document = { id => $id, @@ -29,22 +30,22 @@ }; foreach my $direction (qw(to from cc bcc)) { - foreach my $f ($message->$direction) { -# print STDERR "$direction: "; - foreach my $part (qw(phrase address comment)) { - next if (! $f->$part); -# print STDERR "[$part]",$f->$part," "; - $document->{$direction.'_'.$part} .= $f->$part."\n"; - } -# print STDERR "\n"; - # push @{$document->$d.'_phrase'}, $f->phrase, - # push @{$document->$d.'_address'}, $f->address, - ## push @{$document->$d.'_comment'}, $f->comment, + foreach my $part (qw(phrase address comment)) { + my @mail_fullnames = $mws->unroll($message,$direction,$part); + $document->{$direction.'_'.$part} = join("##",@mail_fullnames); } } $document->{'subject'} = $message->get('Subject') || 'no subject'; - $document->{'body'} = $mws->plain_text_body($message); + my $body = $mws->plain_text_body($message); + $body =~ s,[\n\r],
,gs; + + $document->{'body'} = $body; + + my $utime = str2time($message->date); + + $document->{'date_utime'} = $utime; + $document->{'date'} = strftime("%Y-%m-%d %H:%M:%S", localtime($utime)); # print Dumper($document); # $mws->add_index("$mbox $id" => $document);