The Apache James Protocols Project delivers a lightweight, and highly extensible framework for mail protocols implementations.
The framework was build as a generic one, so its not bound to any socket implementation. This make it possible to use it with NIO or IO Frameworks.
The framework is currently used by James Server in conjunction with Netty to provide a high performant and extensible SMTP Server.
At the moment only the SMTP protocol is included, but others will follow.
You can read more about protocols used for SMTP in James Server on the SMTP Hooks page.
The source code page contains information on how to develop with James Protocols.

Apache James is a project of The Apache Software Foundation (ASF) which encourages a collaborative, consensus-based development process under an open software license.
The ASF maintains other Java projects which may also be of interest. These are detailed on the ASF Projects page.
We recommended that users of James products subscribe to the James users mailing list.