On Sat, 2005-01-15 at 12:41 +1300, Russell Fulton wrote:
> On Fri, 2005-01-14 at 09:11 -0500, JP Rosevear wrote:
> > On Fri, 2005-01-14 at 22:11 +0000, Jon Biddell wrote:
> > > > So I would like a configuration option that allowed one to automatically
> > > > forward any message marked as 'junk' to a specific mailbox or an
> > > > address.
> > > 
> > > I second that - being able to attach a customisable script to both
> > > buttons would be a nice feature.
> > 
> > FWIW, you should be able to create your own sa-learn script in your path
> > that does whatever you want.
> 
> OK, I'm happy with that, except that I can't figure out how the mail is
> passed to sa-learn.  So far as I can tell evo invokes sa-learn with the
> parameters "--rebuild --local" and does not read anything from stdin.
> 
> I've found a copy of the sa-learn man page and I can't find any
> reference to --rebuild.  sa-learn seems to expect to be pointed at a
> folder.
> 
> Any hints on how to get the script to read the offending email?

To find out, I did the following (old Unix trick):

Temporarily replace /usr/bin/sa-learn with the following Shell script:

<-->
#!/bin/sh

date >> /tmp/sa-learn-args # Just to separate runs
echo $@ >> /tmp/sa-learn-args # Get the args
while read -t 1 l # Copy stdin
do
echo $l >> /tmp/sa-learn-args
done
<-->

Mark a few messages as junk and look at /tmp/sa-learn-args. Turns out
that Evo calls sa-learn once per message with the options "--no-rebuild
--spam --single" and then once at the end of a batch with "--rebuild" (a
batch being a set of messages selected and marked simultaneously).

sa-learn gets the message itself on standard input (sorry for the kludgy
loop copying stdin; I tried just doing a "cat >> file" but it hung, so I
had to use the "-t" option on "read").

Don't forget to restore the original sa-learn when you're done :-)

poc

_______________________________________________
evolution maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/evolution

Reply via email to