First, I would advise you not to use mapped addresses unless you really need to use them. On BSD, there's a sysctl to control whether v4 connections will match v6 sockets:
net.inet6.ip6.v6only = 1 Best practice seems to be to have daemons open a v4 and v6 socket separately, and avoid mapped addresses. This will get you out of inverse resolving v6 ipv4-mapped addresses, and get you out of teaching SA to extract v4 addresses for checks from the mapped addresses. Then, there's the issue about getting your MTA to resolve v6 addresses. To be honest, I think that the work should focus on fixing the resolver (or whatever calls the resolver) to extract the IPv4 address out of the mapped address, instead of eliminating the mapped address entirely. There are legitimate needs to use mapped addresses. Well, you are of course welcome to that. I think it will prove harder than avoiding mapped addresses.