Hello, I am attaching the latest spam.el code. 90% of the work was done by François Pinard, who deserves the credit for not only adding an interface to bogofilter, but also implementing a lot of new and necessary features. There's also summary exit functionality to process articles marked as spam. There's lots of FIXME comments, and instructions on installing bogofilter and a procmail recipe too. The goal is to add more spam checks as time goes on. (bogofilter is a program that implements statistical analysis in an external process from Emacs. See the comments inside spam.el) I also added a BBDB check, which uses the BBDB like a whitelist. Credit goes to Alexander Kotelnikov. Alexander, please let me know if it's OK to use your code :) The code assumes bbdb.el is loaded - that's probably a bad idea, so I marked it with a FIXME. I'm also not sure about the whitelist/blacklist logic, that may be a little bogus. I have not committed to CVS yet, because all the code is in alpha. The CVS spam.el is fairly stable (well, it's broken, and that's a sort of stability, isn't it? :) so I'd rather let people test the code and fix bugs outside CVS for the first few days. The spam-split function, especially, has completely changed, and the new spam.el may break code that uses it. The work currently in spam.el can use RBL, whitelist/blacklist/BBDB, and bogofilter. We can add other Bayesian analyzers; several external ones were discussed already. The spam-stats.el Lisp statistical analysis could be included as well. I think 95% of the work for spam-stats.el is done by the author of the library already, only the final glue in spam.el needs to be put together. The documentation for the spam.el library is in the Lisp comments right now. I will write real docs as soon as we have a stable user-side interface. I know they are necessary. I will be gone from tomorrow until Sept. 25 on vacation, so feel free to kick spam.el around until then. Someone else can commit to CVS if I don't respond quickly. Thanks Ted