NAME
Email::Store::Mail - An email in the database
SYNOPSIS
Email::Store::Mail->store($message)
my $mail = Email::Store::Mail->retrieve($msgid);
my $simple = $mail->simple;
print $mail->message;
# Plus many additional accessors added by plugins
DESCRIPTION
While a fundamental concept in Email::Store
, a mail
is by itself reasonably simple. It only has two properties, a message_id
and a message
. A utility method simple
will produce a (cached) Email::Simple
object representing the mail.
Indexing
When a mail is indexed with store
, all the plugins are called. Plugins register a method called on_store
to get their chance to play with an incoming mail, and on_store_order
to determine where in the process they wish to be called in relation to other modules.
The on_store
method gets passed the mail object and can examine and modify it while also doing what it needs to populate its own table(s).
Indexing Duplicates
When a message is stored but already exists in the database, on_seen_duplicate
is called in the plugins rather than on_store
. This allows, for instance, the List plugin to detect passage through addiional lists.