Wayne asked:
Basically, I suspect that anytime I get an IPv4 mapped IPv6 address, I
should just proceed as if I had gotten an IPv4 address. Does this
sound right?
Yes, I also think so. If an IPv4 SMTP client (e.g. 1.2.3.4) connects to an
IPv6 SMTP server, the server feeds a IPv4-mapped IPv6 address (e.g.
::ffff:1.2.3.4) to the SPF routine. But since the IPv4 client has an SPF
record using IPv4 addresses, the IPv6 Server should use the IPv4 address
(the last 4 bytes of the IPv6 address).
This implies that an IPv6 client having an IPv6 address that looks like an
IPv4-mapped address, must publish SPF records using IPv4.
When you get a real IPv6 address (not just a mapped IPv4 address), should
the exists: mechanism look for an A record, or an AAAA record?
The SPF specification clearly says that the 'exists' mechanism should always
look up an A record.
Roger