Ok, I'm setting out to create a custom spam control system for our users using qpsmtpd as the underlying infrastructure. I'm bringing it up here first because:

1) I'm sure somebody has done some or all of this already

2) For any part of the system not already created, I want the design of new pieces to be modular enough that others find them useful

3) The more eyes there are, the stronger/more stable/feature rich the project gets.

I have talked about it before on the list, and spurred various discussions, but I don't recall coming to a consensus on the "best way" or official qpsmtpd way to do it. I would hope we're at a point (or can get to one) where much of the resulting work could be contributed back to the main distribution.

Ok, so here goes.

First off is the per-user configuration goal (again). Some users complain of too much filtering, others complain of not enough. Site-wide bayesian filters aren't doing the trick, and some people deal with foreign countries more than others do. So I want to get where users can pick and choose various filter (i.e. plugins) to use, and even per-user config of said plugin (where appropriate). I know Gavin has this implemented to some degree, but his site's per_user_config is at 0.28, and we're running 0.31 (rc2?).

Along with per-user configs for qpsmtpd, I plan to implement per-user configuration for SpamAssassin. If used at SMTP time, the spamassassin plugin would need to call spamc with the proper arguments.

At the end of each session, I want to save off the rejection messages (5xx and some 4xx) in a database for each user so they can see if and when specific messages are blocked and why, allowing them to add/remove filters at will, saving me the hassle of tracking down false positives, delays in delivery, and the ever-elusive black hole that some email seems to fall into. This is probably where John's (I think they're his) logging work would be useful.

The part that's not necessarily qpsmtpd-centric would be the web-based interface that glues these pieces together for the user. It would be Perl-based and borrow from some existing projects.

Qmail is my delivery engine, with vpopmail+mysql handling users, in excess of 4000 maildirs.

Comments, concerns, complaints?

-- Bryan

Reply via email to