On Mon, 2009-05-04 at 12:16 -0400, Charles Gregory wrote: > On Mon, 4 May 2009, Karsten Bräckelmann wrote:
The original statement which you snippet is important, since the question was how to do exactly that -- manipulating the AWL. Try wiping his AWL entry. > > > We can do that? What tool would I use? > > > > See the spamassassin options with whitelist in the name, particularly > > --remove-addr-from-whitelist. > > Okay, maybe I'm misunderstanding. I was under the impression that > spamassassin had TWO 'whitelists'. One was user specified, with 'add' and > 'remove' capability (and anyone removed *stayed* removed), and the other > was 'auto', which was generated automatically by AWL rules, and with NO > commands to manipulate it? Gurus? Am I wrong? Yes, you are wrong -- although at least one fact is correct. There are indeed two different thingies with "whitelist" in the name. One is the black- and whitelist *configuration* options. Rather static. Like any other configuration. See the section Whitelist and Blacklist Options in the docs [1]. The other one is the AWL, which actually is a score averager, based on the senders and net-block score history. This is what we're talking about as per your question. The "persistent address white- and blacklist" in man spamassassin-run actually talks about the AWL, *not* the static configuration options, and simply manipulates the existing AWL database. The adding command just fake an email with a high (positive, black) or low (negative, white) score. The remove options really do remove all entries for the given email address. Removing an address from the AWL is a single shot, and has no impact on the future of the AWL. The sender *will* be added again. You're just erasing the history. guenther [1] http://spamassassin.apache.org/full/3.2.x/doc/Mail_SpamAssassin_Conf.html#whitelist_and_blacklist_options -- char *t="\10pse\0r\0dtu...@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}