The server project wires together the different libraries composing James to provide a running service. It introduces for example Netty wrappers for protocols, the Mail Queue component as well as Mailet container for mail processing, and storage API for server related storage. Wiring is done thanks to Inversion of Control using either Guice or Spring.

This documentation is intended to be an introduction to the concepts behind the Apache James Server usage, as well as a guide to install, configure , manage, monitor and develop Apache James Server.

Download Apache James Mail Server 3.0-RC1 and quick-start it!

Early Apache James Server 3.0-RC1

You can also have a look to the last stable version

The James team is working hard to release version 3.0. We currently do load testing, write more tests, rework the website, and started using James 3.0 in production.

Apache James Server 3.0 represents the leading edge of development. This code stream has many more features than the 2.3 code, but is not be as well tested in production. Reasonable configuration compatibility has been retained with 2.3.2.

Apache James Server 3.0 requires Java 1.6. A migration guide for users willing to upgrade from 2.3 to 3.0 is available. If relying on Guice packaging, you can use some additional components (Cassandra, ElasticSearch, ...). Guice packaging requires java-8.