1 |
dpavlin |
1 |
#!/usr/bin/perl -w |
2 |
|
|
|
3 |
|
|
use Plucene::Simple; |
4 |
|
|
use Mail::Box::Manager; |
5 |
|
|
|
6 |
|
|
my $debug = 1; |
7 |
|
|
|
8 |
|
|
my $index = Plucene::Simple->open( "index" ) || die "can't open index: $!"; |
9 |
|
|
my $mgr = Mail::Box::Manager->new; |
10 |
|
|
my $folder; # placeholder for folders |
11 |
|
|
|
12 |
|
|
my @index_ids = $index->search(join(" ",@ARGV)); |
13 |
|
|
|
14 |
|
|
my $results = $#index_ids + 1; |
15 |
|
|
print "$results results...\n"; |
16 |
|
|
|
17 |
|
|
foreach my $index_id (@index_ids) { |
18 |
|
|
my ($mbox,$id) = split(/ /,$index_id); |
19 |
|
|
|
20 |
|
|
if (! $folder->{$mbox}) { |
21 |
|
|
$folder->{$mbox} = $mgr->open($mbox); |
22 |
|
|
print STDERR "## open($mbox)\n" if ($debug); |
23 |
|
|
} |
24 |
|
|
|
25 |
|
|
my $message = $folder->{$mbox}->find($id) || |
26 |
|
|
print STDERR "can't find message $id in $mbox. Time to re-index?\n"; |
27 |
|
|
foreach my $from ($message->from) { |
28 |
|
|
print $from->phrase," [",$from->address,"] ",$from->comment,"\n"; |
29 |
|
|
} |
30 |
|
|
print " ",$message->get('Subject'),"\n"; |
31 |
|
|
|
32 |
|
|
} |