Let me further elaborate Rich's suggestion:
Take one of the rejected messages, complete with headers, and store
it into a file.
Take the core of the recipe which is your bane, and put it into a
standalone rcfile, like so:
# RCFILE BEGIN ---------
LOGFILE=funky.log
VERBOSE=YES
# we're not delivering the message, just checking it over and over.
DEFAULT=/dev/null
# we're simplifying this - no need for inverted scoring
# However, we've prefixed the regexp with ()\/ so that we can store
the
# matched text - you should see precisely what it is matching on.
:0
* ()\/^FROM_DAEMON|\
^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )\
([^>]*[^((_dot_)%(_at_)a-z0-9])?(\
LIST(SERV|proc)|NETSERV|bounce|autoanswer|echo|mirror\
)(([^).!:a-z0-9][-_a-z0-9]*)?[%@>
][^<)]*(\(.*\).*)?)?$([^>]|$)
{
}
# RCFILE END ---------
Now, pipe your message into it:
procmail -m funky.rc < funky.msg
Sean
Thanks for the explicit instructions. The ()\/ syntax was very
valuable in showing me exactly what was tripping the FROM_DAEMON.
I ended up with some verbose logs containing
procmail: Matched "
From: "LP CORPORATE SERVICES (LPCS)" <header(_at_)aol(_dot_)com>
M"
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]*)?[%@> ][^<)]*(\(.*\).*)?)?$([^>]|$)))"
and
procmail: Matched "From env91010-mail(_at_)yahoo(_dot_)com Tue Apr 14 18:42:30
2009
R"
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]*)?[%@> ][^<)]*(\(.*\).*)?)?$([^>]|$)))"
Each of those Matched lines ends with a capital letter all alone on a
line. M in the first example, and R in the second example.
Do you know what they stand for ?
mark
____________________________________________________________
procmail mailing list Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail