Email::Store 0.24 review

by on

Email::Store is a framework for database-backed email storage. SYNOPSIS use Email::Store 'dbi:mysql:mailstore'; Email::Sto

License: Perl Artistic License
File size: 27K
Developer: Simon Cozens
0 stars award from

Email::Store is a framework for database-backed email storage.


use Email::Store 'dbi:mysql:mailstore';
Email::Store->setup; # Do this once

Email::Store::Mail->store( $rfc822 );
Email::Store::Mail->retrieve( $msgid );


Email::Store is the ideal basis for any application which needs to deal with databases of email: archiving, searching, or even storing mail for implementing IMAP or POP3 servers.

Email::Store itself is a very lightweight framework, meaning it does not provide very much functionality itself; in effect, it is merely a Class::DBI interface to a database schema which is designed for storing email. Incidentally, if you don't know much about Class::DBI, you're going to need to in order to get much out of this.

Despite its minimalist nature, Email::Store is incredibly powerful. Its power comes from its extensibility, through plugin modules and hooks which allow you to add new database tables and concepts to the system, and so access the mail store from a "different direction". In a sense, Email::Store is a blank canvas, onto which you can pick and choose (or even write!) the plugins which you want for your application.

For instance, the core Email::Store::Entity plugin module addresses the idea of "people" in the email universe, allowing you to search for mails to or from particular people; (despite their changing names or email addresses) Email::Store::Thread interfaces Email::Store to Mail::Thread allowing you to navigate mails by their position in a mail thread; the planned non-core Email::Store::Plucene module plugs into the indexing process and stores information about emails in a Plucene search index for quick retrieval later, and so on.


Email::Store 0.24 keywords