in reply to Email filtering

The way I'd set up an E-Mail program would be to start with a list of E-Mail addresses that I trust. Each address would be associated with a folder, so as mail arrived from a known address, it would go into the associated folder. Mail that wasn't recognized would go into a Junk folder, perhaps for examination by some spam tool. If the message is from someone I do know, I rescue their message, add them to my address book and store their message in the associated folder.

That's what my approach would be, because the ratio of spam messages to messages from people I've never before written to is very high. Perhaps other people have had different experiences.

--t. alex

"Nyahhh (munch, munch) What's up, Doc?" --Bugs Bunny

Replies are listed 'Best First'.
Re: Re: Email filtering
by hossman (Prior) on Apr 16, 2002 at 17:32 UTC
    This is easily achieved using SpamAssassin. (You would also need something like Mail::Audit or procmail to do the folders by sender part.)

    SpamAssassin is built arround the notion of "tests" which are applied to each msg. Each test has an asociated point value, and if the total point value for a particular msg is above a set threshold, the msg is considered spam. Which tests you use, what point values each test should get, and what your personal threshold are is totally configureable.

    (Aside: SpamAssassin marks up your msgs indicating which are spam by adding Mime Headers listing which tests it pased and what it's total score was, in addition to putting "spam" in the subject. All of which makes it easy to set up automatic filtering (again, this is all configurable)

    One of the tests is called "USER_IN_WHITELIST" with a default score of "-100" (ie: if the user is in your whitelist, they have to do a LOT of bad shit in their emails to be considered spam). If you configure SpamAssassin to only use the USER_IN_WHITELIST test, and set your personal threshold at -99, email from anyone you don't know will get flagged as spam (and you can have Mail::Audit or procmail file it into a spam folder for you.)

    The only step left is to periodicly check your spam folder for mesgs from people who are "ok" but have never been added to your whitelist -- that's easy enough. the -W option of spamassassin will parse a msg for addresses and add them all to your whitelist, Or if your email program allows you to hook into perl methods, the Mail::SpamAssassin API has methods like add_all_addresses_to_whitelist.