You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Whitelisting a user

Adding a user to your whitelist gives them a -100 score, which has the effect of always marking their mail as non-spam.

To manually whitelist a particular address, say d.cary@sparkingwire.com, edit your local user prefs file ~/.spamassassin/user_prefs (or global /etc/mail/spamassassin/local.cf):

# whitelist David Cary:
whitelist_from  d.cary@sparkingwire.com

Whitelist and blacklist addresses are file-glob-style patterns, so
friend@somewhere.com, *@isp.com, or *.domain.net will all work.

# whitelist everyone at sparkingwire.com:
whitelist_from  *@sparkingwire.com

To manually blacklist, use blacklist_from to add an address to your blacklist.

If the sender is at all well known (such as a mailing list), you should use whitelist_from_rcvd instead so that a spammer can't forge their mail to look like it's from the whitelisted address. More info on whitelist_from, whitelist_from_rcvd, and blacklist_from is on the [http://www.spamassassin.org/doc/Mail_SpamAssassin_Conf.html web] or can be accessed from your local man pages by typing perldoc Mail::SpamAssassin::Conf.

Some good, free web-based tools are available to put a friendly user interface on whitelists (and blacklists) and allow users to edit their own. See WebUserInterfaces.

What is AutoWhitelist?

Another feature of spamassassin is "auto-whitelist". But the name is a misnomer. The AutoWhitelist is designed as an automatic score averaging system, and is just as likely to penalize or blacklist an address as it is to benefit or whitelist it. If you want to whitelist, you should use the directions above.

Automatically whitelisting people you've emailed

To extract a unique list of e-mail addresses from your 'Sent' folder (in mbox format), you could use something like this:

#!/bin/sh

SADIR=~/.spamassassin
SENTMAIL=~/mail/Sent

rm -f $SADIR/sent_whitelist
for x in `grep "^To:" $SENTMAIL |
	grep -o "[[:alnum:]\.\+]*@[[:alnum:]\.]*" |
	tr -s "A-Z" "a-z" |
	sort -u` ;
	
	do echo "whitelist $x" >> $SADIR/sent_whitelist
done

cat $SADIR/user_prefs.base $SADIR/sent_whitelist > $SADIR/user_prefs	

This can be adapted as necessary, and executed as a cron job.

contributors

  • No labels