While bravely fighting with the IMAP implementation in Apache James,
Robert
is hoping for relieve by
new e-mail protocols.
And indeed, it's high time. A lot of energy, both in productivity time and electrical power, is
wasted. Wasted by huge piles of spam and other types of unsolicited e-mail. And this is not only a social
phenomenon, it is made possible by the protocols used to transfer mail between
computers. These protocols (SMTP, IMAP, POP) stem from the information technology middle ages.
They are not appropriate for today's needs.
We need something better. I don't talk about 'e-mail 2.0' here. We need 'e-mail 1.0', first.
So the proposed goal is to establish RMEP, based on HTTP and XML.
I don't think HTTP is an appropriate prerequisite.
HTTP is a client/server protocol. It is not designed for message transfer. It is designed for hypertext transfer
in the request/response world. And yes, you can probably make every protocol or type of messaging
working embedded into HTTP. But there is no way to hide that the protocol wasn't originally build for this purpose.
The interesting parts of such a mail protocol would be contained in the XML part, though.
So using HTTP only leads to a half-hearted solution.
We would start from a broken protocol and end up with a new protocol embedded in an another-purpose host protocol.
The best would be to use a protocol which is especially designed for exchanging messages,
both between client/server and server/server, which from the beginning supports security, encryption and compression
and is extensible. Which is transport agnostic and uses XML as its syntactical foundation.
A protocol matching all this is already in broad use, it is well-specified and understood. Mature, if you want.
It's called XMPP, Extensible Messaging and Presence Protocol. The community around XMPP is open and very welcoming.
And if you want, you can even transport XMPP via HTTP.
XMPP is not restricted to request/reponse (polling). The server
can truely push to its clients which reduces network traffic and makes life easier.
XMPP is not RESTful. But access to a single message and complete message structures (trees of mailboxes) could be RESTyfied within XMPP.
XEP-0013 could be a starting point.
Mailboxes and storage would still need to be specified as separate XMPP extensions.
Let's just hope that in the end the next-generation e-mail protocol (be it RMEP, XMPP or something else) will
be chosen for its technical merits and not only because of politics.