On Wed, 2009-05-13 at 11:16 -0500, Michael Lyon wrote: > We're using spamassassin 3.1.7 on a slack-10 box, invoked via cron.
I suggest upgrading. That's quite ancient... > I'm having problems getting a domain whitelisted. Previously, adding > domains to be whitelisted simply meant adding a "whitelist_from > *...@domain.com" to my /opt/MailScanner/etc/spam. > assassin.prefs.conf file. > > Now, however, my maillog shows the messages as being marked as spam. > Yesterday, I added a spam.whitelist.rules, which takes -100 down from > the score, but the message is still marked as spam and not delivered: > > /var/log/maillog output: > > May 13 10:53:46 cerberus MailScanner[3309]: Message n4DFrTip004779 > from 63.93.193.30 (a...@easymatch.com) to saintjoe.edu is spam, > SpamAssassin (not cached, score=68.739, required 4, AWL -33.17, > BAYES_50 0.00, FORGED_RCVD_HELO 0.14, HTML_30_40 0.37, HTML_MESSAGE > 0.00, NO_REAL_NAME 0.96, RE_PASSWORD 100.00, RE_PASSWORDV 100.00, > USER_IN_WHITELIST -100.00, X_PRIORITY_HIGH 0.43) > > SO...I see the USER_IN_WHITELIST -100 score, but it never is > delivered... As Peter said, your whitelist_from works just as expected. The issue is with *your* custom password rules, both scoring a whopping 100. So the solution is to fix these rules. Some more notes: It's generally better to use whitelist_from_rcvd if possible, and use that unconstrained one only as a last resort. Also, your custom rules' scores are *way* too high, unless you seriously want them to act as a kill-switch. In that case, they did as the score asked for. And of course, after fixing the custom rules, you will need to correct (or drop) the AWL entry for that address. As you can see, AWL even tried to rescue the email, lowering the score significantly. However, as one can see, too, the average already is quite high (due to triggering the password rules in the past), so that AWL will *add* points next time (without tripping over your password rules), unless cleaned. guenther -- 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; }}}