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