procmail
[Top] [All Lists]

RE: Interlocking log output and LOGABSTRACT?

2003-12-30 11:55:12
At 21:59 2003-12-29 -0800, Gary Funck wrote:
>From Gary Funck <gary(_at_)intrepid(_dot_)com>  Sun Dec 28 23:45:39 2003
 Subject: RE: Interlocking log output and LOGABSTRACT?
  Folder: procmail-mail            6707

Won't happen unless you rewrite the message headers. There's a BIG caveat with doing this however: if for some reason, you deliver a bounce, or forward that message and attempt to retain the (modified) From_ line on it, the individual who submitted it to a *LIST* is going to receive a bounce. That's plain rude, since they didn't send it to you - the list did.

Your TRAP idea seems a good workaround to that (since the delivered message won't have been rewritten)

Here is the solution that I've come up with:

TRAP='formail -I "From " | formail -l "$LASTFOLDER"'

It sure is great that '-l' (ell) still isn't documented in the formail manpage. However, the only thing I see your TRAP doing is making formail update the timestamp on the From_ line. The address remains constant. I ran it against a volume of mail here, and it always had the same result.

You should be able to eliminate the pipe though:

TRAP='formail -I "From " -a "From " -l "$LASTFOLDER"

(see the "BUGS" section of the formail manpage - if you expressly remove the From_ header formail won't regenerate it unless you expressly tell it to add it).

While this doesn't make it change the address (at least from where I'm sitting), this achieves the same result as yours, but with one less formail invocation and no shell (though I might be wrong about that - I'm not well versed in TRAP).

placed near the top of the procmailrc file, ahead of any delivery actions.

The first formail invocation removes the leading "From " header and
the second one will add a new "From " header back, using the info
from the From: line, which is the REALLY_FROM address that I was logging
before,

Keep in mind that it isn't necessarily the same as the From_ which was submitted to the list.

It isn't efficient (it involves two executions of formail, and a new
shell(?),

Yes, because of the pipe. See my change above, which should considerably lighten your load.

but it gives the output that I'm looking for.

Colour me surprised.

---
 Sean B. Straw / Professional Software Engineering

 Procmail disclaimer: <http://www.professional.org/procmail/disclaimer.html>
 Please DO NOT carbon me on list replies.  I'll get my copy from the list.


_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail