Apache James Mailbox project | |
============================ | |
The James Mailbox project aims to provide an email (message) store. The main user of the Mailbox project is James Server | |
project. The implementations can be used standalone and do not depend on James Server. | |
The project defines the Mailbox API and has several implementations that you can use. More details bellow. | |
Overview | |
======== | |
Apache James Mailbox has the following project (Maven) structure: | |
~~~ | |
|-- api -- Mailbox API | |
|-- jpa -- Database Mailbox implementation using Java Persistence API | |
|-- lucene -- Email indexing module with Apache Lucene | |
|-- memory -- In memory Mailbox implementation - good for testing | |
|-- spring -- Spring module - starts a specific mailbox implementation | |
|-- store -- Common base/utility classes used in all mailbox implementations | |
|-- tool -- Database migration/mailbox export tool | |
~~~ | |
Mailbox JPA | |
=========== | |
Persist email messages inside any database that is supported by your Java Persistence Api provider. Currently James uses | |
OpenJPA (http://openjpa.apache.org/), but it's easy to implement your own. | |
Mailbox 'In memory' message store | |
================================= | |
In module **memory**, does not persist emails. It just keeps them in memory. Fast, and good for testing. | |
**Note:** Not to be used in production. | |
Building | |
======== | |
The primary build tool for Apache James Mailbox is maven 3. | |
On a new checkout start by running | |
~~~ | |
$ mvn clean package | |
~~~ | |
This will compiled all modules | |
For just building without running junit tests: | |
~~~ | |
$ mvn clean package -DskiTests=true | |
~~~ |