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