Apache James


Apache James, a.k.a. Java Apache Mail Enterprise Server or some variation thereof, is an open source SMTP and POP3 mail transfer agent and NNTP news server written entirely in Java. James is maintained by contributors to the Apache Software Foundation, with initial contributions by Serge Knystautas. IMAP support has been added as of preview version 3.0-M2, which now requires Java 1.5 or later.
The James project manages the Apache Mailet API which defines "matchers" and "mailets". These allow users to write their own mail-handling code, such as to update a database, build a message archive, or filter spam. A matcher is used to classify messages based on some criteria, and then determines whether the message should be passed to an appropriate mailet for processing. Mailets are so-called due to their conceptual similarity to a servlet, and arose because Sun Microsystems declined a proposal to include mail-handling in the servlet implementation. James ships with a variety of pre-written matchers and mailets to serve common tasks. Many sets of mailets and matchers can be combined to produce sophisticated and complex functional behaviour.
The Apache James project also produces pure Java libraries for implementing Sender Policy Framework, the Sieve mail filtering language, and parsing MIME content streams, independent of Sun's JavaMail API.

Development

James was originally formed under the Jakarta Project as Jakarta-James.
In January 2003, James was upgraded to a top-level Apache project in a unanimous decision by the ASF Board of Directors under the chairmanship of Serge Knystautas.
James is distributed to within the Phoenix container, which implements the Apache Avalon application framework.
Recent developments include a version which runs in the Spring Framework application framework.
Version 2.3.0 was released in October 2006.
Version 2.3.1 was released in April 2007.
Version 2.3.2 was released in August 2009.
Version 2.3.2.1 was released on September 8, 2015.
Version 3.0.0 was released on July 20, 2017.
Version 3.0.1 was released on October 20, 2017.
Version 3.1.0 was released on July 31, 2018.
Version 3.2.0 was released on November 14, 2018.
Version 3.3.0 was released on March 26, 2019.