Search code examples
jakarta-mailnettyimapniojames

Transport agnostic IMAP client implementation in Java?


Objective:

An IMAP client running on top of Netty OR NIO

Problem:

No such thing seems to exist. So I am attempting to put together something myself. I have a faily good grasp on Netty but what I am missing is a lib/routines I can delegate encoding/decoding the IMAP protocol to + the session/state from the client side to put it on top of Netty

What I looket at:

Apache James Protocols IMAP4 The project has a complete implementation of IMAP4 from the server side of things. And it actually runs on top of Netty. However, after looking at the code, I don't think I can easily use it to the flip side (the client) of IMAP communication

JavaMail API reference implementation This obviously has the client side, but the whole project seems to assume it's running on OIO aka blocking IO, so again it seems that putting Netty underneath is not trivial

imapnio on Github I found this library, but it's a very incomplete implementation of IMAP over NIO (via Netty).

I am definetely not implementing IMAP protocol routines myself. Anything I missed?


Solution

  • The simple answer to your question is that what you're looking for doesn't exist.

    There's a longer discussion we could have about what problem you're trying to solve and how you might best go about solving it, but stackoverflow isn't the right place for that. Feel free to contact me at javamail_ww@oracle.com.