I've been looking at the various Java e-mail servers under development for use in an application I'm involved with. I'm focusing on James and the JBoss Mail Services since I think they'll have some staying power.
Honestly, I really like the "pluggable" feel of James with its Matchers and Mailets approach to chaining together e-mail processing. Unfortunately, James requires I buy into the whole Apache Avalon framework thing. (Yeah, that's what I want to do - learn yet another niche framework!)
So I'm exploring the JBoss Mail Services. Hunting around through the snippets of online documentation, I'm thrilled to see this API will rely on well-documented and supported existing J2EE standards. My biggest concern is the relative immaturity of the API for the application at hand.
Q1: Are there JavaDocs for the API anywhere? They're not in the M1 release. I know I can get the source and generate them myself, but if they exist somewhere, I'd like to download and/or browse through them. Eventually, I'd like to contribute something back, but am at Step 0 in my discovery process. Once I think this is something I'd commit myself to learning and using, I'll grab the source and make some contributions.
Q2: It's unclear if the JBoss Mail Services will allow flexible, AOP-like, chaining of mail processing rules like James allows?
At its most basic level, what I really need now is just a solid RFC-compliant, Java-based SMTP server that I can just plug a Java listener into. The server would do all the handshaking with clients and other SMTP servers to construct a javax.mail.Message (MimeMessage) object, then pass the Message off to my listener. I'll then use JBoss to get database connections, store, forward, or trash the message as appropriate based on what I can learn from the Message.
Q3: Is the current M1/M2 SMTP server stable enough to handle the basic handshaking and Message construction as described?