On Sun, 2009-04-05 at 11:12 +0100, Jeremy Morton wrote: > Karsten Bräckelmann wrote:
> > ok_locales en # all Western char sets in general > > Maybe this is just the docs being worded badly, but it looks like that > simply marks en charset mail as being not spam... it doesn't > automatically mark non-en charset mail as being spam: > "Mail using the character sets that are allowed by this option will not > be marked as possibly being spam in a foreign language." Maybe it could be explained better, but I am confident you would have figured it out after carefully reading it a second time. The default is *all*. Hence, no mail will hit the CHARSET rules. If you provide a custom list, the given charsets will not hit the rules -- all charsets left out will be scored. > What I want is to ALWAYS mark non-en charset mail as spam. Does it do that? Pretty much yes, see above. However, given your second round of replies I sense your original wording wasn't just the usual hasty bad phrasing... (a) SA will *not* block mail. SA scores. Any action is the duty of further tools in your mail processing chain. (b) In the SA philosophy, a poison-pill that "always marks spam" does not exist. Rules hit will assign scores, where each of them is below a single kill threshold and negative scoring rules can prevent that. The combined total score is what renders a mail spam. While you sure /can/ set scores above required_threshold, it is commonly advised against. In particular, no single CHARSET rule exceeds the threshold. Combined they do, together with other rules they do. -- 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; }}}