> # Set ok_locals to just en > ok_locales en Please note that the comment above is wrong. It actually means # all Western char sets in general
> # Set ok_languages to just english and french > ok_languages en fr > > # Set inactive_languages all defaults plus russian and korean > inactive_languages bs cy eo et eu fy ga gd is ko la lt lv rm ru sa sco sl yi By that, you disabled Russian and Korean detection, err, guessing. ;) The TextCat plugin thus will never detect any mail written in either Russian or Korean -- and subsequently will not be able to tell it is an UNWANTED_LANGUAGE_BODY, because it didn't guess any language. In other words: TextCat will not identify text to be written in the languages specified by inactive_languages, because you told it to. If it can't guess a language with sufficient confidence, it can't be sure it is outside the list of ok_languages either. See the previously referenced documentation for the TextCat plugin. > all three were run seperately and together with no difference, aka spam > still got through > > spamassassin was restarted /etc/init.d/spamassassin restart With "ok_locales en", did you lint the configuration? Any issues? (Yes, I do advocate ok_locales usage, were appropriate. It kicks some serious butt here.) > and we sent email messages to our servers with russian and korean encoding > > im dbl checkin on what if any of those rules actually were reported Can you put a raw, sample message up a pastebin or any accessible place (don't paste, don't attach to a post), that you believe should be caught but wasn't by ok_locales, please? > btw that doc u sent doesnt have anything on ok_language > it could use some updates on that dont forget to tell people to uncoment > the TextCat module there too Sorry, if I'm wrong, but... That suggests you did *not* lint your configuration. You would have gotten a warning when using ok_languages without the TextCat plugin enabled. guenther -- char *t="[EMAIL PROTECTED]"; 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; }}}