Stan wrote,
| 2. I dislike checking the message body unless absolutely
| necessary, so I'd prefer to do the header checks first.
So do I, but it took two conditions to check the head and only one to check
the body; that's why I disposed of checking the body first for this particu-
lar situation.
Otherwise, one could check the head first and the body next if needed:
:0 flags
* 1^1 ^(.*\<)?bulk\>
* -1^1 ^Received:(.*\<)?bulk\>
action
:0EB flags
* ()\<bulk\>
action
or to do it without the split into two recipes,
:0 flags
* 1^1 ^(.*\<)?bulk\>
* -1^1 ^Received:(.*\<)?bulk\>
* 2147483646^0
* -2147483646^0
* 1^0 B ?? ()\<bulk\>
action
The last two conditions have the same effect as a single one:
* -2147483646^0 ! B ?? ()\<bulk\>
but it would require reading the entire body to be sure "bulk" is not
present, while of the two I used instead, the former involves no reading
at all and the latter can quit at the first occurrence of the word.
| 3. Note, I'm willing to say that all headers starting
| with "Re" must be "Received:" but you can extend the logic
| as much as needed:
It's a bad idea to give up after "Re"; you'll run afoul of Reply-To:,
Return-Path:, Return-Receipt-To:, Really-Mr-Wickham:, and the entire family
of Resent- headers. At the least, go out to "Rec" before assuming it's
"Received."
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail