I really like the idea of collaborating on a new mailet API. Getting more parties involved will help create a better mail processing platform.
As I've been porting the SMTP protocol handler over to MINA and after having written a few mailets for various tasks, I would like throw in a couple of things I would like to see in the new mailet specification. - Mailet staging - It would be really nice to be able to have different stages for mailet execution. The first stage would start when the SMTP DATA command is received. This mailets would only be able to process based on data such as: remote IP, helo/ehlo host name, recipients, sender, user, whether TLS is enabled or not etc. This would also make it possible to reject the incoming message before it has been received in its entirety. The second stage would start after all the headers have been received and the third stage would start when the entire message has been received. - Mailets as deployable units - I don't know if this should go into the new mailet specification itself but it would be nice if mailets could be made into discrete deployable units. I would like to be able to take a jar file with my mailets, matchers and some type of deployment descriptor and just give it to the mail server. I think this would make it much simpler for administrators to use third-party mailets. I can see this happening with JBoss as this seams to follow closely with their easy deploy philosophy. - Multiple mailets per matcher. I have a couple of different matchers that are expensive to run (Naive Bayes classifiers) that I would like to have multiple mailets process. To do this I've had to create a separate spool and my James config file has gotten very messy. - Process to allow mailets to run for a non-match. Besides specifying which mailets should run on a positive match, it would be nice to be able to specify mailets that should run on an negative match. Just my $0.02. -Mike --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
