Re: IMAP implementation questions
Hi Danny, On Nov 10, 2003, Danny Angus wrote: Zoe, (Beware, long answer!) Thanks for the explanations :) Ist point.. James IMAP component is very much alpha status *still* . Oh, well... that would make only three incomplete IMAP implementations I know of: James, JimapD and Foedus. Do I see a trend here ;) [snip rational] So.. What is the answer for ZOE... Well my impression of James is that I think that it would be foolhardy to take James' alpha IMAP and try to rewrite it with no reference to James, Avalon or Mailet and I think it would be exceedingly tortuous (but not necessarily impossible) to implement an IMAP server using JavaMail. I'm going to find out very soon as a solution stumbled upon me: a lightweight, IMAP SDK build in terms of the JavaMail API. With such a toolkit, one only needs to provide its own implementation of a javax.mail.Store to the SDK. The SDK handles all the IMAP protocol minutia and interact with the underlying data through the Store, Folder and Message API. All this in a small package and no other dependencies than JavaMail :) It might be worth looking at Avalon Phoenix or Merlin and see whether you could implement (or integrate) a container within ZOE to allow you to run IMAP. Well... this is what I would like to avoid in the first place. Thanks for the walkthrough in any case :) Hopefully I will not need to highjack James IMAP implementation to turn it into something it was not mean to be. That said... I still think there would be some values in repackaging James different protocol stacks to make them more accessible to third parties. Something to think about perhaps. Cheers, Z. -- http://zoe.nu/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
What about IMAP support?
Re: http://james.apache.org/FAQ.html IMAP development had been stalled, but has recently attracted new activity. IMAP support is scheduled for inclusion in James v3. In the meantime, there is experimental code in the repository. If you are interested in working on or trying the IMAP prototype code, join the james-dev mailing list and let us know. Hello, I'm involved in a little project named ZOE [1]. And I would like to try the IMAP prototype code found in James CVS repository... Here is a short rational: ZOE IMAP http://article.gmane.org/gmane.mail.zoe.general/2659 So far, we have identified three IMAP related projects at different stage of development and/or abandonment: - James IMAP - JimapD https://hal.rescomp.berkeley.edu/~hossman/jimapd/ - Foedus http://foedus.sourceforge.net/ There is also a commercial offering from GoodServer. Unfortunately, GoodServer site seems to be, er, missing for a while now. In any case, the idea is to provide an IMAP interface to ZOE's email archiving functionalities. This will not be a traditional IMAP server in the sense that all the folder creation and email categorization is going to be fully automatic. So I would be interested to give James's IMAP protocol stack implementation a go... but this implementation is somewhat intertwined with James infrastructure... predominantly avalon, mailet and other james utilities: import org.apache.mailet.MailAddress; import org.apache.mailet.MailRepository; import org.apache.mailet.User; import org.apache.mailet.UsersRepository; import org.apache.avalon.cornerstone.services.connection.ConnectionHandler; import org.apache.avalon.excalibur.pool.Poolable; import org.apache.avalon.excalibur.pool.DefaultPool; import org.apache.avalon.excalibur.pool.HardResourceLimitingPool; import org.apache.avalon.excalibur.pool.ObjectFactory; import org.apache.avalon.excalibur.pool.Pool; import org.apache.avalon.excalibur.pool.Poolable; import org.apache.avalon.framework.activity.Disposable; import org.apache.avalon.framework.activity.Initializable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.service.ServiceException; import org.apache.avalon.framework.service.ServiceManager; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.ConsoleLogger; import org.apache.avalon.framework.logger.LogEnabled; import org.apache.james.Constants; import org.apache.james.util.watchdog.WatchdogTarget; import org.apache.james.util.InternetPrintWriter; import org.apache.james.core.AbstractJamesService; import org.apache.james.core.MailImpl; import org.apache.james.services.MailServer; import org.apache.james.services.UsersStore; import org.apache.james.util.watchdog.Watchdog; import org.apache.james.util.watchdog.WatchdogFactory; etc... So my question is: would the James team be interested to extract the IMAP protocol stack implementation to make it free standing so other projects could reuse it for their own devious ends? Thanks in advance for your time and consideration. Cheers, Z. [1] http://zoe.nu/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]