Awesome. So I mentioned it twice in this thread, once each before your follow-ups, and you keep on ignoring and arguing. Which part of of auto- learning and before local delivery is unclear to you?
On Wed, 2009-05-06 at 17:34 -0600, LuKreme wrote: > On 6-May-2009, at 06:50, Karsten Bräckelmann wrote: > > SA does know about mail it already learned. However, for various reasons > > it is *not* based on the file name. An obvious reason would be support > > for mbox format. > > Yes, but that is a different flag --mbox. > > > :) And auto-learning before the mail has been passed > > on to the MDA. Then there's the problem that even with Maildir format, > > file names (think flags) are not guaranteed to remain static... > > The last few characters will change, but I don't think the rest of the > name changes. That is, the mail file named > "1241641613.40384_0.mail.covisp.net:2," is always going to be named > that, with maybe one or two additional characters after the ,, no > matter where I move it. the first part is the epoch time followed by > 5 random characters The actual name frankly is an implementation detail of your LDA. > > To determine if a mail already has been learned, SA needs to have a look > > at the mail. > > Mightn't it be helpful if it could keep a cache of filenames? cat cur/* > mbox # your point is? -- 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; }}}