procmail
[Top] [All Lists]

Re: recipe failure

2008-07-08 12:13:50
On Sun, 6 Jul 2008, Professional Software Engineering wrote:

An actual message header and output from the logs corresponding to the attempted recipes would generally be appropriate. I expect it may be matching but failing to deliver to the location specified, and as such is continuing to deliver to default. If the ignore failures flag was on the recipe, the messages would probably just "vanish", which would support that they're being MATCHED, but failing to deliver, which is almost universally a permissions issue.

This particular line though is telling:

* ^TO:.(plug-discuss(_at_)lists@plug.phoenix.az.us|plug-announce-admin(_at_)lists@plug.phoenix.az.us)

Ignore the failure to excape literal dots -- please explain why are there TWO @ in each of those addresses?

The above recipe is a prime example of the fact that you have to think about procmail recipes and not type them in a blind, sleep deprived stupor.

I rather suspect that the second @ in each of those is supposed to be a dot. If no, then try:

* ^TO:.(plug-discuss|plug-announce-admin)@lists\.plug\.phoenix\.az\.us

Educate me please. Why escape the dots? Other recipes I have work without doing it, ie:

:0:
* ^TO_users(_at_)spamassassin(_dot_)apache(_dot_)org
$HOME/mail/list-spamassassin-users

    and

:0:
* ^TO_ubuntu-users(_at_)lists(_dot_)ubuntu(_dot_)com
$HOME/mail/list-ubuntu-users

Notice the TO_ macro in these. They don't generate lock failures. They work perfectly.

Next, the delivery action:

$HOME/holtzm/mail/list-plug-discuss


Who wants to wager that $HOME is something like /home/holtzm  ?

So, does:

       /home/holtzm/holtzm/mail/

exist? Or are we trying to deliver to a bogus directory? I note in proffered solutions, others have maintained the same delivery path as you originally used, so even if their CONDITIONS are good, if the delivery path is bogus, you won't magically see a delivery succeed.

try:

       $HOME/mail/list-plug-discuss

You win the bet. See my comment above about a blind stupor. However, when I made the correction it still failed.


I have also tried "TO_" for all of these but they generated lock failures.
Everything I try generates a log entry such as:

This is indicative of an ATTEMPT to deliver (that's the ONLY time an auto lock should occur), which means in those cases, you were getting a MATCH on the condition. Again, if the directory you're using for delivery doesn't exist, then the typical lockfile strategy will fail, just as the simple delivery will...

You're confusing a lowly end user. Are you saying that

procmail: No match on 
"........:(_dot_)plug-discuss(_at_)lists@plug.phoenix.az.us"

means it matched?

Finally! I got one recipe to work.

:0:
* ^TO(plug-discuss(_at_)lists(_dot_)PLUG(_dot_)phoenix(_dot_)az(_dot_)us)
$HOME/mail/list-PLUG-discuss

Not sure why. Notice the absence of "_" or ":." after "TO". The pm log shows:

procmail: No match on 
"(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^a-zA-Z])?):(_dot_)plug-discuss(_at_)lists@plug.phoenix.az.us"

procmail: No match on 
"^List-ID:(_dot_)*plug-discuss(_at_)lists(_dot_)plug(_dot_)phoenix(_dot_)az(_dot_)us"

procmail: No match on 
"(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^a-zA-Z])?):(_dot_)plug-discuss(_at_)lists@plug.phoenix.az.us"

procmail: Match on 
"(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope|Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)(plug-discuss(_at_)lists(_dot_)PLUG(_dot_)phoenix(_dot_)az(_dot_)us)"

These recipes were run singly at different times. Any idea why one works and not the others?

Many thanks for your detailed response and for getting me on the right track.

--
Bob Holtzman
The most dangerous ones aren't the ones who don't know.
They're the ones who don't know that they don't know.
____________________________________________________________
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>