procmail
[Top] [All Lists]

help: complex pipe does nothing!

2001-01-29 23:59:44
I have a script that does something like this:

# This checks if the sender is in jobs.cache
:0 Whc: /tmp/jobs.lock
* !^FROM_DAEMON
* !^X-Loop: jobs(_at_)tellme(_dot_)com
| /usr/local/bin/formail -rD 8192 /tmp/jobs.cache

:0 Weh # if the name was not in the cache
| (/usr/local/bin/formail -r -A "From: jobs(_at_)tellme(_dot_)com" \
    -A "X-Loop: jobs(_at_)tellme(_dot_)com" ; \
    cat /home/angus/jobs.txt; \
    ) | /usr/sbin/sendmail -i -t -F "Angus Davis"

:0
/dev/null

It has been working fine forever, on our Linux box, running procmail v3.13.1.
Now I am trying to retire that box in favor of a FreeBSD machine, running
procmail v3.15.  Unfortunately, as far as I can tell, everything spawns off
just fine, no errors, but no mail ever enters the MTA.  Here's what procmail's
verbose logging gives me:

procmail: Match on ! "(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To: 
Multiple recipients of |(((Resent-)?(From|Sender)|X-Envelope-From):|>?From 
)([^>]*[^((_dot_)%(_at_)a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp)|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>
     ][^<)]*(\(.*\).*)?)?$([^>]|$)))"
procmail: Match on ! "^X-Loop: jobs(_at_)tellme(_dot_)com"
procmail: Locking "/tmp/jobs.lock"
procmail: Executing "/usr/local/bin/formail,-rD,8192,/tmp/jobs.cache"
procmail: Non-zero exitcode (1) from "/usr/local/bin/formail"
procmail: Assigning "LASTFOLDER=/usr/local/bin/formail -rD 8192 
/tmp/jobs.cache"procmail: Unlocking "/tmp/jobs.lock"
procmail: Executing " (/usr/local/bin/formail -r -A "From: 
jobs(_at_)tellme(_dot_)com" \
    -A "X-Loop: jobs(_at_)tellme(_dot_)com" ; \
cat /home/angus/jobs.txt; \
) | /usr/sbin/sendmail -i -t -F "Angus Davis""
procmail: Non-zero exitcode (1) from " (/usr/local/bin/formail -r -A "From: 
jobs(_at_)tellme(_dot_)com" \
    -A "X-Loop: jobs(_at_)tellme(_dot_)com" ; \
cat /home/angus/jobs.txt; \
) | /usr/sbin/sendmail -i -t -F "Angus Davis""
procmail: Assigning "LASTFOLDER= (/usr/local/bin/formail -r -A "From: 
jobs(_at_)tellme(_dot_)com" \
    -A "X-Loop: jobs(_at_)tellme(_dot_)com" ; \
cat /home/angus/jobs.txt; \
) | /usr/sbin/sendmail -i -t -F "Angus Davis""
procmail: Assigning "LASTFOLDER=/dev/null"
procmail: Opening "/dev/null"
From dannyman(_at_)tellme(_dot_)com  Mon Jan 29 19:34:08 2001
 Subject: test
  Folder: /dev/null                                                         401

Now my hunch is that procmail handles the simpler pipe just fine, by
chopping the arguments up and passing them to the appropriate system
call, or socket, or something:
/usr/local/bin/formail,-rD,8192,/tmp/jobs.cache

The latter pipe, though ... that doesn't get munged in the log at all
...

Any ideas?  I've been using variants of this recipe for some years now.
This is the first time it hasn't worked for me.  Has there perhaps been
some recent change, maybe WRT handling buffers for security, that might
have broken this (admittedly somewhat silly) recipe?

Or, suggestions for a better auto-responder?

Thanks,
-danny
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>