Richard Monson-Haefel wrote, > I think it would be a good idea to support Jame's current > component model as > well as providing an adapter that bridges the gap between Mailets and the > Message Driven Bean model. Both are useful. For Geronimo the MDB adapter > would be useful because it would allow James to plug directly into the > message driven bean container system. There are some problems like > transactional messaging (perhaps James addresses this I'm not > sure yet), but > overall providing Mailet support through the J2EE standard MDB component > model, as well as the "native" James component is a good thing..
javaMail provides an interface for implementations of protocols. James currently implements Mailet by passing every SMTP message, out going or incoming, into a single message pipeline, this pipeline is the mailet container and mailets are used to implement server functionality. You know remote/local delivery, spam filtering, list serving etc. This is partly achieved by allowing mailets to kill messages and insert new ones at the top of the pipe, and partly by making the whole thing an asynchronous spool, mail is put in at one rate and processed at another. It should be equally possible to implement a J2EE compliant "mail service provider" in the form of a "Transport" for SMTP which was itself a self contained mailet pipeline, we'd have to look closely into the provider lifecycles to see how feasable this is though. In that way while javaMail is not well suited to building servers it would still be possible to add Mailet to to our javaMail impl. for outgoing mail in a compliant manner. :-) d.
