Many of my customers complain about too much email being blocked from the various block lists and email filters, or that not enough email is being caught. To solve this problem one would need per-user and/or per domain controls.
My thought is to create a suite of scripts that uses a user database (such as vpopmail's) for customer and/or domain preferences. The FiltersToUse table would look something like this:
user filtername filtervalue action --------------- ------------ ---------------- ------ [EMAIL PROTECTED] dnsbl dnsbl.njabl.org block [EMAIL PROTECTED] dnsbl bl.spamcop.net tag [EMAIL PROTECTED] spamassassin 5 tag [EMAIL PROTECTED] spamassassin 10 block @bbsc.net spamhelo myipaddress block @bbsc.net spamhelo dynamichost tag
The idea would mean a not-so-strict set of rules for the early plugins; all of their blocking would have to wait until RCPT or MAIL was called.
Blocked servers would be given a 550, "Sorry, the user/domain you are trying to communicate with has chosen to block this message for one or more reasons:..." (wording subject to change).
If the filter chooses to wait until MAIL is processed, then the mail can be saved in an IMAP Junk folder (maildir) that can be downloaded via IMAP or from the web with IMP, SqWebmail, etc. One would then make a cron job to clean junk from the junk folders after a couple of days/weeks.
Suggestions, ideas? I'm hoping to start this between now and the beginning of next year, but don't expect to have much until January. ;)
-- Bryan