In short, when you see an address terminating that way, you should remove at least the trailing parts of that address:
John Doe <john.doe@example.org.REMOVE.THE.TRAILING.PARTS> ↓ ↓ ↓ John Doe <john.doe@example.org>
Those trailing parts were probably added to the From:
header
field in order to circumvent DMARC policy restrictions. If you don't know who
John Doe is, or don't trust that the resulting address is good, just remove
the entire recipient line from your reply.
Remember, it is always a good idea to check what recipients did your MUA deem appropriate for your reply.
You are free to use domain names of the form
REMOVE.*.TRAILING.PARTS
to escape DMARC policies. Please do so
only if necessary; that is, only if the domain publishes a strict policy.
Perl (example given
Mail::DMARC::opendmarc) or Python (e.g.
gs.dmarc) are convenient
script languages. In a (nut)shell, one would code:
#! /bin/sh munge_domain() { policy=$(dig +short "_dmarc.$1" txt |\ sed -nr 's/^"v=DMARC1\\?;.*[ ;\\]p=([a-z]*)\\?;.*/\1/p') case "$policy" in quarantine|reject) munged="$(echo $1|tr '[:upper:]' '[:lower:]').REMOVE.THE.TRAILING.PARTS";; *) munged="$1";; esac } munge_domain yahoo.com echo $munged
Should I fail to renew trailing.parts
, that usage would become
just like appending .INVALID
; that is, subject to DMARC's idiosyncrasy of
rejecting invalid domains.