JAMES Server 2.3.0 released

If you want to set up a Java-based email server, the Apache Java Enterprise Mail Server (better known as Apache JAMES) is the daddy. JAMES is a Java SMTP and POP3 mail server, and is also (as an added bonus) an NNTP News server. In fact, it’s more than just those: it’s a set of open source projects based around the central JAMES server and API.

The API part is what makes JAMES really interesting, though. Dubbed the “mailet” API (presumably a play on the “servlet” API), it transforms what might have otherwise been a “Yet Another Mail Server” (YAMS) product into an extensible mail application platform. Currently there are four “incubated” sub-projects that make use of the mailet API. As you’d expect, they’re all somehow mail- and news-related.

The four projects are: jSPF (an implementation of the Sender Policy Framework [SPF] spec designed to detect email spoofing), Mime4J (a parser for email messages streams in rfc822 and MIME format), JSieve (an implementation of the Sieve mail filtering language), and Postage (essentially an email load-testing tool; useful for finding resource leaks and memory bottlenecks).

All four projects (plus the core server itself, of course) are pure Java implementations.

The best part about JAMES, though, is that it’s shown itself to be pretty stable. The latest release, 2.3.0, has some new features, but is primarily a bug-fix release. The features in the product are clearly delineated as being either Stable or Experimental (e.g. the product has LDAP support, which currently is experimental only). So if stability is a top concern for you, you can pick and choose which features to use.

About the Author

Matt Stephens is a senior architect, programmer and project leader based in Central London. He co-wrote Agile Development with ICONIX Process, Extreme Programming Refactored, and Use Case Driven Object Modeling with UML - Theory and Practice.