Hi Jerry,

Welcome to James devs!

You are not the first to ask for IMAP proxy:
http://markmail.org/message/t44hwzrzyo3ddcel (Fabio Petagna)
http://markmail.org/message/ecqr5klblzpmjtob (Gabe)

I could repeat what said in those previous threads, and that we really need to come with a out-of-the-box solution to avoid that everyone spend time on this...

The indirect, but correct, road to the solution is https://issues.apache.org/jira/browse/PROTOCOLS-73 where we need more integration on the IMAP code with the our protocols framework (beta4 upon which you rely has still a completely separated IMAP module).

Thx, Eric


On 05/11/2012 09:35 AM, Jerry Tian wrote:
Hi, James developers,

I need some advices on how to extend James 3.x server.

I am trying to use James as a component in a future product/service,
which James acts like a data bridge of two different services.

Service A is used by legacy mobile clients and based on IMAP protocol,
and Service B is a web service exported by a third party. I can not
change any interface/logic of these clients/services.

This is my initial thoughts on how to make all this work:

1. By intercepting IMAP commands from mobile clients, I can detect the
change made by users of service A.
2. By reading/writing data in mailbox, I can manipulate the data to
keep it in sync with service B.

I have experience with mailet development in the past, but for this
task, mailet is not sufficient, maybe even not related at all. Because
the data exchanged is not exactly normal email, send from one guy to
another: they are objects saved in a specific sub-folder of this
account's mailbox, have no recipients, more like a draft mail. And all
these operations are done  through IMAP commands. Actually, I have
written a mailet to capture all mails in the processor chain to prove
myself, and it turned out true.

I have already set up a running instance of James 3 beta 4 and a
working build environment for James 3.x, using beta 4 tag checked out
from SVN, and reading the source code of the project. The technical
architecture chat on this page(
http://james.apache.org/server/3/dev.html ) is of some help.

But I am still confused the right point to put my logic in, and so
far, I don't find there is mechanism provided in intercepting IMAP
commands and manipulating mailbox at this early stage of James 3.x.
For example, should I put the interceptors logic using classes in IMAP
processor package? How to get hold of the instances of mailbox
persistence layer? Questions like this.

Any suggestion is much appreciated.

Regards,
Jerry Tian

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org


--
eric | http://about.echarles.net | @echarles

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to