The Perl web based E-Mail archival system with full text search
Mail-Archive is an E-Mail archival system, backed by a PostgreSQL database & fronted by a web based GUI providing full text search capabilities.
A command line tool loads mailboxes, parsing MIME messages and inserting them into a PostgreSQL database. The core datamodel provides a fully normalized representation of MIME messages, and is subsequently augmented by a handful of denormalizations for efficient querying and reporting. The body text, and MIME headers are backed by full text indexes using the PostgreSQL TSearch v2 GIST index capability. The web GUI provides the means for full text searching of the mail archive additionally filtering results on criteria including subject, from, to, cc and mailing list. The front end allows for per-user customization, saving queries as virtual folders, snapshotting a query result set into a folder, tagging individual messages with keywords and running statistical reports.
The software is very simple, making use of a number of 3rd-party Perl modules for core capabilities, including Template for all web HTML templating; Mail::Box for loading of mail boxes, and parsing of MIME messages; Log::Log4perl for debugging output and loggin, and Authen::PAAS for pluggable authentication schemes.