Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

procmail - using output of external filter

3 views
Skip to first unread message

Otavio Exel

unread,
May 6, 2008, 3:53:59 PM5/6/08
to
Hello List!

I would like to filter mail based on output of a script that I wrote;
this script reads the mail-message and...
- outputs something if it should be filtered
- outputs nothing if it should *NOT* be filtered

writing the script was easy! now how I use this in my procmailrc?
the best way I could find was:

:0
* ^FROM_MAILER
X=|my_script param1 param2 param3
:0A
* ? test -n "$X"
mail/filtered

it works. I can definitely live with that!

but I don't like the fact that I have to do it in 2 passes (one for
saving the script output in X and another for checking if anything was
actually saved in X);

also I'd like my script to reply via the return status of the script and
not via the output; it would be perfect if I could do:

:0
* ^FROM_MAILER
* ? my_script param1 param2 param3
mail/filtered

as I said: I can live with what I already have.

any clues?

[]s,

--
Otavio Exel /<\oo/>\ oe...@economatica.com.br

Mike Hunter

unread,
May 6, 2008, 10:16:49 PM5/6/08
to
On Tue, 06 May 2008 19:53:59 GMT, Otavio Exel wrote:
Hi,

This syntax works for me to preempt spam filtering based on the exit
status of a custom script:

:0:
* ?/home/mhunter/bin/my-incoming-script.pl
$DEFAULT

Otavio Exel

unread,
May 7, 2008, 12:35:36 AM5/7/08
to
> On Tue, 06 May 2008 19:53:59 GMT, Otavio Exel wrote:
> >
> > also I'd like my script to reply via the return status of the script
> > and not via the output; it would be perfect if I could do:
> >
> > :0
> > * ^FROM_MAILER
> > * ? my_script param1 param2 param3
> > mail/filtered

Mike Hunter <mhu...@lusArs.net> wrote:
>
> This syntax works for me to preempt spam filtering based on the exit
> status of a custom script:

Mike,

it took some head-scratching: my script needs the body of the message,
not just the headers; appending a "B" to the ":0" did the trick!

many many thanks!

0 new messages