It's pretty simple, scan the header for Resent-Sender, then
Resent-From, then Sender, then From (each step top down),
and take the first match. If that has more than one address
it's a syntax problem (=> no PRA), otherwise it's the PRA.
I don't think the PRA is really that simple and I think that
Frank's description is wrong.
How about looking into the spec. ? Six steps in only 25 lines.
The PRA is found is taken from the From: header.
| 1. Select the first non-empty Resent-Sender header in the
You got it backwards. But step (1) has in fact a special rule
if the Resent-Sender is separated by trace header fields from
a _preceding_ Resent-From (in that case they use Resent-From).
Step (2), (3), (4) as I said, but catching erroneous cases of
more than one Sender (3) or From (4) as you said => (6) no PRA.
Otherwise (5) one header field was selected. If that has not
exactly one address it's erroneous as I said => (6) no PRA.
And if it has one address that's the PRA.