procmail
[Top] [All Lists]

Re: html bouncer

2001-03-21 23:49:38
David Collantes followed up,

| On my previous mail, if you run the recipe against the test message I pasted
| you will see that not even the address matches, when that is suppoused to be
| the first thing to happen: if the address matches -cba(fac|stf|adj...)?(_at_)-
| then check if ()<HTML> and do the rest. Run:

Actually, it never tries that condition.  Notice the logfile excerpt:

| procmail: No match on ! "(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To:
| Multiple recipients of
| |(((Resent-)?(From|Sender)|X-Envelope-From):|>?From 
)([^>]*[^((_dot_)%(_at_)a-z0-9])?(P
| ost(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|daemon|m(mdf|ajordomo)|n?uucp|L
| IST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp)|e
| cho|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoansw
| er))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>         ][^<)]*(\(.*\).*)?)?$([^>]|$)))
| "

Translation: no match on ! ^FROM_DAEMON; i.e., a match to ^FROM_DAEMON.  After
that, the logfile doesn't show attempts at any of the remaining conditions.
Here are the recipes again:

| :0c # are you positive $file_name will be unique and you don't need a lock?
| * ! ^FROM_DAEMON
| * cba(stf|fac)?@(atlantis\.)?bus\.ucf\.edu
| * B ?? ()<HTML>
| * B ?? ()</HTML>
| /tmp/$file_name.txt
| 
| :0A
| | /usr/local/bin/html_bouncer.pl $file_name.txt

With the first condition failing, that recipe is deemed a non-match, and the
second recipe has an `A' flag, so it becomes a non-match as well.

Why is it matching ^FROM_DAEMON?  That's right here:

 From owner-cba(_at_)atlantis(_dot_)bus(_dot_)ucf(_dot_)edu  Wed Mar 21 
19:36:29 2001

The envelope sender address includes the word `owner'.

David, perhaps you can get by with ! ^FROM_MAILER (which should trap most
NDNs without catching mailing list distributions) instead of ! ^FROM_DAEMON.
If not, you may need to replace the first condition with something like this:

 * -1^0 ^FROM_DAEMON
 * 2^0 ^^From owner-cba

so that you can make an exception for that particular match to ^FROM_DAEMON.
I had to do something similar when I was running a mailing list under my own
routines written in procmailrc code, and a person with the unfortunate ad-
dress of mkt_admin(_at_)his(_dot_)site joined.  All his submissions matched on
^FROM_DAEMON and would get shunted to the folder for bounces.

_______________________________________________
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>