Remove the t=y test flag from the DMARC record
Why it matters
t=y is the RFC 9989 test flag: it asks receivers to apply a policy one level weaker than the one you published, so p=reject acts as quarantine and p=quarantine acts as none. It does not change the reports, and receivers that do not know the tag ignore it.
Staged change. Do this in stages and check each one before the next, so a mistake does not break your site or your mail.
The fix
- Check the aggregate reports first. Once every legitimate sender passes DMARC, remove t=y (or set t=n) so the policy applies in full.
- Only remove the t tag; keep your current p= value and every other tag as they are. Edit the existing _dmarc record; do not add a second one.
dns
; t=y removed; keep your current p= (reject is shown as an example) _dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"
The examples use example.com. Replace it with your own domain.
Related
- Reported by the DMARC policy check
- Publish a DMARC record, starting in monitoring mode
- Keep only one DMARC record
- Fix the invalid DMARC record
- Move DMARC from monitoring to quarantine, then reject
- Move DMARC from quarantine to reject
- Remove the pct tag from the DMARC record
- Make the DMARC subdomain policy match the main policy
- Add a report address to the DMARC record
- Remove or fix the invalid tags in the DMARC record
Scan your domain to see whether this applies to you.