procmail
[Top] [All Lists]

Re: This is WEIRD - "To: foo(_at_)bar" -- but I didn't put it there.

1997-01-27 23:28:18
"Tom Betz" <tbetz(_at_)panix(_dot_)com> writes:
Okay, so I'm diddling with variants on that recipe that crashes 
procmail, trying to get it to work.

Seeing some comments on using the "f" flag for non-delivery scripts, 
I tried using it in appropriate places instead of "c" to achieve my end.

There's are *really* big differance between the 'c' and 'f' flags: the
recipe with the 'f' flag can/will change the message being operated on.


Now, I have formail sending mail to "foo(_at_)bar" instead of the 
sender... but "foo(_at_)bar" doesn't appear anywhere in my recipe!

foo(_at_)bar is what formail fills in if you give it AN EMPTY MESSAGE.
How did you end up with an empty message?  Well, let's see:


# if so, first make a temporary copy of the email
:0 f
| cat > $MAILDIR/spam.tmp

This tells procmail to feed the message to the command
        "cat > $MAILDIR/spam.tmp"
then take what that commands prints on its standard output and treat
that as the message to continue processing.  Since all the output is
going to the file, this leaves procmail with the empty message.  You
then tell formail to reply to that (empty) message.  Huh, it doesn't
work.

Randomly changing flags isn't going to solve your problem.  There is
one or mores bugs in one or more of
        procmail (whose version # you still haven't told us)
        your C compiler
        libc
        your OS (which you still have yet to mention)
        some other program involved in this like formail, sh, cat, etc

Unless the path to your home directory has a few hundred characters in it,
your .procmailrc should be working right now.  Something else is broken,
and changing your .procmailrc won't fix it.

Philip Guenther

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