procmail
[Top] [All Lists]

Re: force PM to look at EVERY rc file

2004-03-19 05:04:39
On Fri, Mar 19, 2004 at 11:30:38AM -0700, JM Fraser wrote:

I have various "INCLUDERC=$HOME/Procmail/.rc-" statements in my
.procmailrc file. How can I force Procmail to look thru EACH of these
.rc-files and to ensure that it goes thru each recipe?

Well, that's what procmail does.  There's nothing mysterious or
magic or metaphysical about it.  It's a linear or flat language,
and it moves from recipe or identity to the next recipe or
identity, until something causes it to stop; that something
almost always being a delivering recipe.  (See "man procmailrc"
for more about delivering recipes.)

If a message is descending into your .procmailrc and its subfiles
but stopping before you think it should, then quite probably you
have a delivering recipe in there where you might not have wanted
one.  (You could also have caused some kind of buffer overload,
I suppose, or have left out or put in one too many braces, or
caused some other logical error like that.)

You need to examine your log files.  And then you need to
turn on verbose logging and examine *those* log files, if
just looking at the regular logs didn't help.  Then you can
post here a section of your .procmailrc that is causing the
problem for you and the relevant verbose log entries.

With so many recipe's that are quite specific, I need that high-end
level of functionality. On a slighly different note, one of the
.rc-files in question has got the following statement:

:0
*^FROM_*foo1(_at_)aol(_dot_)com
and
*^FROM_*foo2(_at_)free(_dot_)fr
and
*^FROM_*foo3(_at_)bt(_dot_)com
and
*^FROM_*(_at_)foo4@snog.co.uk
maildir/

But Procmail NEVER deliver's any mail here. Where am I going wrong?

What makes you think any message you could ever get would have all
those things be true?  I doubt you'll ever find *any* of them true.
For instance, there is no procmail metaword "^FROM_", so you are
looking for a literal string "FROM_" at the start of a header line.
I've never seen any such animal; have you?  The asterisk in your
conditions effectively nulls out the underscore char, though, since
it (the askterisk) says "zero or more of the char immediately
preceding."  Okay, so now we have start-of-line, From (not case-
sensitive), zero whitespace, and, not just any of those addresses
in your condition line, but *all* of them, since conditions are
ANDed.  The entire thing is nonsense.

You wrote the word "and" there above; do you not see the logical
error in wishing to AND these things?  You certainly meant "OR".
(See another thread in today's list material for more on ORing.

Remember that old, shopword computer adage, "Garbage in, garbage out."
That's what's wrong with your recipe.

-- 
dman

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