----- Original Message -----
From: "David R. Linn" <drl(_at_)vuse(_dot_)vanderbilt(_dot_)edu>
Sent: Friday, October 06, 2000 5:05 PM
Subject: Re: BCC
Date: Fri, 6 Oct 2000 15:51:51 +0100
From: Dave Ewart <ewart(_at_)icrf(_dot_)icnet(_dot_)uk>
But surely the sending MTA cannot remove information that is necessary
to actually transmit the message? That information (I.e. the BCC
recipient) must be present in the message while it's in transit,
otherwise the message is undeliverable, yes?
Nope. That info is carried in the envelope, not in the message. That's
why we're all saying that the receiving MTA must be told to write
envelope info into the header where procmail can find it.
Barring any unforseen conditions, the receiving MTA will already contain the
current envelope-recipient, by means of the sendmail $u variable which is
parsed to the Received: header.
HReceived: $?sfrom $s $.$?_($?s$|from $.$_)
$.by $j ($v/$Z)$?r with $r$.
id $i$?u for $u$.; $b
Unless the receiving MTA deliberately removes the $u variable, it should be
there. And since Jason wants his own local procmail to determine who the
current recipient is, why not simply pluck it from the Received: header?
With one "catchall" user, this could present a problem, though. But the
Advanced procmail documentation describes a way to add a line to Ruleset 0,
so that $u becomes available as $1 to the "catchall" user.
If procmail is not integrated into sendmail.cf, but the procmail invocation
is done on a "per-user" .forward basis, then perhaps a simple pwd might do
the trick. I have not tested that for procmail, but I know that sendmail
itself does a chdir to $HOME of $u before it "executes" the .forward file.
System Administrator Asarian-host.org
"If you were supposed to understand it,
we wouldn't call it code." - FedEx
procmail mailing list