What the bounce says
554 5.7.5 Permanent error evaluating DMARC policy
The receiving server tried to read your domain’s DMARC record and couldn’t make sense of it, so it refused the email. The problem is almost always in your DNS records, not in the email itself.
Common causes
- A typo in the DMARC record: commas instead of semicolons, curly quotes pasted from a document, a missing
mailto: in front of the report address, or a policy other than none, quarantine or reject. - v=DMARC1 isn’t first. The record must start with it.
- Two DMARC records. An old record left behind next to a new one makes both invalid.
- A broken SPF record, especially one over the 10-lookup limit, which stops DMARC being evaluated cleanly.
Broken and fixed
Broken: commas, and no mailto:
v=DMARC1, p=quarantine, rua=dmarc@yourdomain.com
v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com
How to fix it
Look up the record with the DMARC lookup. It flags broken records and shows each tag.
Delete any second DMARC record at _dmarc, so exactly one remains.
Check SPF and DKIM with the full domain scan, then resend.
The lookup shows straight away whether inboxes can read your record.