James - Apache's Java Mail Server

This week I switched to James(Java Apache Mail Enterprise Server), an open source project that was recently promoted from a Jakarta subproject to a top level Apache project. James was pointed out to me by someone commenting on my blog. James is definitely what I was looking for. It's a powerful server with all the features I need, and provides me with a open-source, cross-platform alternative to the Windows only server I was previously using, Argosoft Mail Server.

Setup was pretty easy. It took me about 20 minutes to download, install, and make a complete transition from my old server. Isn't modern technology great? I remember spending at least a week setting up a SLIP connection on OS/2 9 years ago. Now it takes 20 minutes to set up a powerful Enterprise grade mail server!

My favorite thing about James is server side spam filtering. Under the default configuration, James contacts a spam authority before allowing mail to be delivered to a local address. I am a contributor to an open source mail classifier which helps eliminate spam called Popfile. Though I love Popfile, I recently purchased a T-Mobile Sidekick that allows me to get my email delivered to my pocket. There's really no way to get the Sidekick to work well with Popfile. My pocket was constantly buzzing and whirring to tell me where I could get herbal viagra, penis enlargement, or low interest loans. James has solved that problem.

James comes with a utility that allows you to easily deploy it as a Windows Service. It also allows me to receive mail of any size. While both features may seem trivial, Argosoft limited messages to 2 megs and didn't run as a Windows Service.

There are really only two things I don't like about James. First, it's built using the Avalon framework. Apache calls Avalon "an effort to create, design, develop and maintain a common framework and set of components for applications written using the Java language." But really, its another freakin' Java Enterprise container. Since I'm already running a J2EE application server (JBoss) I would much prefer James was a J2EE application. I really hate to have yet another JVM and container consuming resources (though currently James is consuming a rediculously low 2 megs of memory right now!). I also don't want to have to learn yet another framework when I want to extend or alter James.

The other dissapointment is that as of yet, there is no Webmail front-end built for James. Although Argosoft's webmail was ugly as sin, had ad rotators at top and bottom of each page, and required its own HTTP port, I certainly enjoyed the ability to get to my email from anywhere. Though my Sidekick pretty much eliminates this need for me, I host mail accounts for family members as well. If James were a J2EE application, I'd dive right into building webmail for James. Perhaps I'm being too skeptical, but I'm just not sure I have the time and patience to learn Avalon.

You don't need to go anywhere

You don't need to go anywhere near avalon. James will let you build webmail using POP3 or directly against the database.