Mail::Box 2.065 review
DownloadMail::Box can manage a mailbox, a folder with messages. INHERITANCE Mail::Box is a Mail::Reporter Mail::Box is extende
|
|
Mail::Box can manage a mailbox, a folder with messages.
INHERITANCE
Mail::Box
is a Mail::Reporter
Mail::Box is extended by
Mail::Box::Dir
Mail::Box::File
Mail::Box::Net
SYNOPSIS
use Mail::Box::Manager;
my $mgr = Mail::Box::Manager->new;
my $folder = $mgr->open(folder => $ENV{MAIL}, ...);
print $folder->name;
# Get the first message.
print $folder->message(0);
# Delete the third message
$folder->message(3)->delete;
# Get the number of messages in scalar context.
my $emails = $folder->messages;
# Iterate over the messages.
foreach ($folder->messages) {...} # all messages
foreach (@$folder) {...} # all messages
$folder->addMessage(Mail::Box::Message->new(...));
Tied-interface:
tie my(@inbox), 'Mail::Box::Tie::ARRAY', $inbox;
# Four times the same:
$inbox[3]->print; # tied
$folder->[3]->print; # overloaded folder
$folder->message(3)->print; # usual
print $folder->[3]; # overloaded message
tie my(%inbox), 'Mail::Box::Tie::HASH', $inbox;
# Twice times the same
$inbox{$msgid}->print; # tied
$folder->messageId($msgid)->print;# usual
A Mail::Box::Manager creates Mail::Box objects. But you already knew, because you started with the Mail::Box-Overview manual page. That page is obligatory reading, sorry!
Mail::Box is the base class for accessing various types of mailboxes (folders) in a uniform manner. The various folder types vary on how they store their messages, but when some effort those differences could be hidden behind a general API. For example, some folders store many messages in one single file, where other store each message in a separate file withing the same directory.
No object in your program will be of type Mail::Box: it is only used as base class for the real folder types.
Requirements:
Perl
Mail::Box 2.065 keywords