#!/usr/bin/perl # Demonstration on how to use the manager to open folders, and then # to print the headers of each message. # # This code can be used and modified without restriction. # Mark Overmeer, , 9 nov 2001 use warnings; use strict; use lib '..', '.'; use Mail::Box::Manager 2.00; # # Get the command line arguments. # die "Usage: $0 folderfile\n" unless @ARGV==1; my $filename = shift @ARGV; # # Open the folder # my $mgr = Mail::Box::Manager->new; my $folder = $mgr->open ( $filename , extract => 'LAZY' # never take the body unless needed ); # which saves memory and time. die "Cannot open $filename: $!\n" unless defined $folder; # # List all messages in this folder. # my @messages = $folder->messages; print "Mail folder $filename contains ", scalar @messages, " messages:\n"; my $counter = 1; foreach my $message (@messages) { printf "%3d. ", $counter++; print $message->get('Subject') || '', "\n"; } # # Finish # $folder->close; #### D:\temp\MailBox\Mail-Box-2.051\examples>perl open.pl c:\pmail\mbox\FOL03E97.PMM Mail folder c:\pmail\mbox\FOL03E97.PMM contains 0 messages: #### D:\temp\MailBox\Mail-Box-2.051\examples>perl open.pl c:\pmail\mbox\unx05e52.mbx WARNING: Illegal character in field name From sydney.dialix.com.au!bounced-addr Sat Nov 08 10 Mail folder c:\pmail\mbox\unx05e52.mbx contains 8 messages: 1. Summary of your weekly E-Mail charges from DIALix Sydney 2. Summary of your weekly E-Mail charges from DIALix Sydney 3. Connect debit 4. New Cheque book 5. RE: Deposit clearance 6. Deposit clearance 7. RE: September statement 8. September statement #### if (! exists $MailList->{$addr}) { # ok, we haven't seen this Email address yet $MailList->{$addr} = $name; # and do other things }