On Sat, 2010-11-06 at 16:17 +0100, Oliver Block wrote: > I am experiencing the same problem. I was calling sa-learn as follows:
Since you didn't include the actual output, I assume by "experiencing the same" you also mean the same sa-learn result? Like this. Learned from 0 message(s) (4 message(s) examined). Point being, you are missing the --mbox option in your command, which is used in the referenced previous posts. You'd need that, if it actually is mbox format with one or more messages. > <pipe-message> sa-learn --spam --no-sync -D bayes >> ~/.sa-learn.log 2>&1 & > > Removing the "&" at the end of the sa-learn call, [...] > solved the problem for me. Then sa-learn correctly learns the spam mails. One thing sticking out, common between you and the old post, is the usage of -D debugging and redirecting STDERR. In the referenced post, the user mentions that piping to 'less' shows the headers. Which sure does not require redirecting STDERR. So, while I am not sure why this would be, I guess the issue is somehow related to using both, 2>&1 as well as & nohup. If you drop the -D and STDERR redirection, but keep the & nohup, does it work for you? As RW just showed (nice one!), with the above command, sa-learn somehow gets fed empty messages... -- 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; }}}