2 |
|
|
3 |
use Plucene::Simple; |
use Plucene::Simple; |
4 |
use Mail::Box::Manager; |
use Mail::Box::Manager; |
5 |
|
use Data::Dumper; |
6 |
|
use MWS |
7 |
|
|
8 |
my $debug = 1; |
my $debug = 1; |
9 |
|
|
10 |
my $index = Plucene::Simple->open( "index" ) || die "can't open index: $!"; |
my $mws = MWS->new('index'); |
|
my $mgr = Mail::Box::Manager->new; |
|
|
my $folder; # placeholder for folders |
|
11 |
|
|
12 |
my @index_ids = $index->search(join(" ",@ARGV)); |
my $s=join(" ",@ARGV); |
13 |
|
|
14 |
my $results = $#index_ids + 1; |
my $results = $mws->search($s); |
15 |
print "$results results...\n"; |
print "$results results...\n"; |
16 |
|
|
17 |
foreach my $index_id (@index_ids) { |
while (my $r = $mws->fetch_result()) { |
18 |
my ($mbox,$id) = split(/ /,$index_id); |
print Dumper($r); |
|
|
|
|
if (! $folder->{$mbox}) { |
|
|
$folder->{$mbox} = $mgr->open($mbox); |
|
|
print STDERR "## open($mbox)\n" if ($debug); |
|
|
} |
|
|
|
|
|
my $message = $folder->{$mbox}->find($id) || |
|
|
print STDERR "can't find message $id in $mbox. Time to re-index?\n"; |
|
|
foreach my $from ($message->from) { |
|
|
print $from->phrase," [",$from->address,"] ",$from->comment,"\n"; |
|
|
} |
|
|
print " ",$message->get('Subject'),"\n"; |
|
19 |
|
|
20 |
} |
} |