--HcAYCG3uE/tztfnV
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Something else that I noted is that Gerald says in his documentation[1]:
Then:
touch .whitelist
atw < $MAIL
atw < mail/w3c/inbox
# (repeat with any other non-list mailboxes you have that don't have spam)
A good idea to get a list of email addresses which work is to extract
the recipients of emails that you sent out.
I have added a '-t' option to atw (attached) which scans the To and Cc
fields instead of the From field:
atw -t < ootbox
1.
http://impressive.net/people/gerald/2000/12/spam-filtering.html
--
Hugo Haas <
[email protected]> -
http://larve.net/people/hugo/
What kind of side dishes will we be enjoying this evening with our
frozen waffles?
--HcAYCG3uE/tztfnV
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=atw
#! /bin/sh
# atw: Add To Whitelist
# Modification of Gerald Oskoboiny's original atw
# See:
#
http://impressive.net/people/gerald/2000/12/spam-filtering.html
# (c) 2001 Hugo Haas - Public domain
PATH=/bin:/usr/bin
WHITELIST_DIR=$HOME/whitelist
WHITELIST=$WHITELIST_DIR/whitelist
OTHERS=$WHITELIST_DIR/others
LOCKFILE=$WHITELIST_DIR/whitelist.lock
umask 077
# Get a lock
lock() {
lockfile $LOCKFILE
# Ensure that the lock will be removed when we are done
trap "rm -f $LOCKFILE" 0 2 3 15
[ -f $WHITELIST ] || touch $WHITELIST
}
# Add an email address to the whitelist
add_address() {
echo -n "Checking for $1... "
grep -F -i -x -q "$1" $WHITELIST $OTHERS
if [ $? = 1 ]
then
echo "$1" >> $WHITELIST
echo "added."
else
echo "already listed."
fi
}
# Add a list of adresses
add_addresses() {
for email in $*
do
add_address $email
done
exit
}
# If -t is given as a first argument, scan the To and Cc fields instead of
# the From line.
if [ "$1" = '-t' ]
then
to='-t'
shift
fi
# If argument -a is given, add the list of email addresses given as arguments.
# If argument -m is given, add a single RFC822 message (from stdin).
# If argument -M is given, import a list of Mutt aliases (from stdin).
# Else read a list of RFC822 messages from stdin.
if [ "$1" = '-a' ]
then
lock
shift
add_addresses $*
elif [ "$1" = '-m' ]
then
lock
if [ "$to" = '-t' ]
then
addresses=`formail -x To -x Cc | perl -pn -e 's/,/\n/g' | perl -n -e 'chomp; s/\".*?\"//g; m/[^ ]+@[^ ]+/; $_ = $&; s/^[<]//g; s/[>]$//; print $_."\n";'`
else
addresses=`formail -XFrom: | formail -r -xTo: | tr -d " "`
fi
add_addresses $addresses
elif [ "$1" = '-M' ]
then
addresses=`perl -n -e 'next if (! m/^\w*alias\w/); chomp; s/\".*?\"//g; m/[^ ]+@[^ ]+/; $_ = $&; s/^[<]//g; s/[>]$//; print $_."\n";'`
add_addresses $addresses
fi
exec formail -s $0 $to -m
--HcAYCG3uE/tztfnV--