In <42E542F9(_dot_)2050700(_at_)vocalabs(_dot_)com> Daniel Taylor
I think I have a fuller understanding of PRA, and why it hasn't been
discussed much here now.
So if I get this right:
(PRA == mfrom) IFF run from the server or a client of a server that
provides sufficient trace information.
(PRA == From) for all cases where checked from the client with
insufficient information to do the above.
I'm afraid you have still not quite gotten it.
On a large percentage of the email, the mfrom, the PRA and the From:
are all the same.
When these three identities differ, it generally has little to do with
whether there is insufficeint trace information.
Take the case of mailing lists. Generally, the From: header remains
that of the original poster.
Almost all mailing lists change the 2821.MAILFROM (and hence the
mfrom). A large percentage of the mailing lists in the world use
"VERP", that is, Variable Envelope Return Path. That is, they set the
2821.MAILFROM to be a unique token for each individual message and for
each recipient. Then, when a bounce happens, the mailing list can
tell *which* user and *which* message caused the problem. Some
mailing lists just set the 2821.MAILFROM to be a list-owner address.
Many, but not all, mailing lists, add a Sender: header that gets set
to the list-owner address. This address can be different than the
2821.MAILFROM even when the mailing list isn't using VERP.
The PRA will pick use the Sender: header, if it exists, overriding the
value in the From: header.
So, in the case of mailing lists, the mfrom (2821.MAILFROM), the PRA
(via the Sender:) and the From: header can all be very different
There are a bunch of other cases, such as forwarding, and people who
want to have a different "bounce handling service" than the From:
address, and people who use SES/BATV, etc.
I say this as most of the Received-* headers are just ways to forward
mfrom and source IP.
Generally, the 2821.MAILFROM isn't put into the Received: headers,
although the 2821.HELO often is. However, neither the mfrom, nor the
PRA use the Received: headers, so this is probably just causing