procmail
[Top] [All Lists]

Re: Adjusting FROM_DAEMON

2009-04-21 20:42:08
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

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