554 5.7.5: “Permanent error evaluating DMARC policy”
Short answer: The receiving server tried to check DMARC for the domain in your From address, hit an error it treats as permanent, and refused the message instead of retrying. In DMARC terms that is a permerror, typically a DMARC record it can't parse. Check _dmarc.yourdomain.com: exactly one TXT record, starting v=DMARC1, with p=none, quarantine or reject.
554 5.7.5 Permanent error evaluating DMARC policy
What it means
No big mailbox provider documents this exact text. Google's list of Gmail SMTP errors (updated 26 October 2026) has no 5.7.5 code, and Microsoft 365 uses 5.7.5 for something else, a certificate that failed MTA-STS validation. So the reply comes from the recipient's own mail server or filter, in its own words. Those words match DMARC's permerror result: "A permanent error occurred during DMARC evaluation, such as encountering a syntactically incorrect DMARC record" (RFC 7489 §11.2; RFC 9989 §9.2 keeps it, with an improperly formatted record as the example). 554 makes it a permanent failure, so your server won't retry, and 5.7.5 is borrowed from RFC 3463, where it means "cryptographic failure". The DMARC standard doesn't tell receivers to reject on an evaluation error: a record without a valid p= should be read as p=none when it has a valid rua= (RFC 9989 §4.10.1), and for errors it can't get past, RFC 9989 suggests a temporary 4xx reply (§7.2). A receiver that answers 554 is being stricter than that, but your record is the part you can fix.
How to fix it
- Look up the record the receiver sees:
dig +short TXT _dmarc.yourdomain.com(Mac, Linux) ornslookup -type=TXT _dmarc.yourdomain.com(Windows). Use the domain in the From address of the bounced message. Exactly one line should come back. - Two lines starting
v=DMARC1? Delete one. RFC 9989 says receivers discard all of them when there is more than one (§4.10), so at best you have no DMARC policy, and a strict receiver treats it as an error. - Check the syntax.
v=DMARC1must be the first tag (RFC 7489 §6.3), tags are separated by semicolons, andp=must benone,quarantineorreject. Common breaks: a curly quote or invisible character pasted from a document or chat, the value wrapped in an extra pair of quotes by the DNS panel,v=DMARC1not at the start, a misspelled policy, or a report address withoutmailto:. - In doubt, replace it with a clean record and step up later:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com. The DMARC generator builds one, and the DMARC checker shows what is published. - Sending from a subdomain (for example
mail.yourdomain.com)? Check its_dmarcrecord too, and the main domain's: receivers fall back to the organizational domain's record when the subdomain has none. - Record clean from several resolvers (your own,
8.8.8.8and1.1.1.1) and only one recipient bounces? Then that recipient's server is the problem. Send the full bounce, with the reporting host and the time, to their IT or postmaster address. - If your bounce starts with 4 and says the error is temporary, it is the same check failing on a DNS timeout (DMARC's
temperror). Your server retries on its own; make sure your DNS host answers reliably.
Check your domain now
After the fix, send a test email to see SPF, DKIM and DMARC pass on a real message, then keep an eye on it: free DMARC monitoring shows every service that sends mail as your domain and which ones fail, in plain English.
Get it fixed: $29
Pay by card, no account needed. Within 24 hours; not fixed after you follow the steps, full refund. · Do it yourself: Fix Kit ($15)
Who does the work: me, Ashish, the owner of this site, based in India. My public code and tools are on GitHub: github.com/Donrulezz.
Other bounce errors
- Gmail 550 5.7.26
- Gmail 421 4.7.26
- Gmail 550 5.7.27 / 421 4.7.27
- Gmail 550 5.7.30 / 421 4.7.30
- Gmail 550 5.7.32 / 421 4.7.32
- Gmail 550 5.7.40 / 421 4.7.40
- Gmail 550 5.7.24 / 421 4.7.24
- Gmail 550 5.7.25 / 421 4.7.23
- Gmail 550 5.7.29 / 421 4.7.29
- Outlook / Hotmail 550 5.7.515
- Outlook / Hotmail 550 5.7.1 S3150 / S3140
- Microsoft 365 550 5.7.606 / 5.7.511
- Microsoft 365 / Outlook 550 5.7.509
- Outlook / Hotmail 451 4.7.650 (S775)
- Yahoo / AOL 421 4.7.0 [TSS04]
- Yahoo / AOL 553 5.7.1 [BL21] / [BL23]
- Yahoo / AOL 554 5.7.9
- Gmail 421 4.7.28
- Microsoft 365 550 5.7.708
- Microsoft 365 535 5.7.139 / 530 5.7.57
- Microsoft 365 550 5.7.233 / 5.7.232
- Microsoft 365 550 5.7.236
- Microsoft 365 / Outlook 550 5.7.520
- Microsoft 365 550 5.1.8
- Gmail 550 5.7.1 / 421 4.7.0
- Gmail 550 5.7.1 / 421 4.7.0
- Gmail / Google Workspace 550 5.4.5
- Gmail / Yahoo / iCloud 550 5.7.26 / 554 5.7.9 / 554 5.7.1 [BS01]
- Validity Heatwave domain blocklist
- Microsoft 365 5.4.8
- Microsoft 365 5.7.5
- Microsoft 365 550 5.7.64 / 4.4.62
- Microsoft 365 5.7.60
- Microsoft 365 550 5.7.68
- Postfix / Exim / OpenSSL 421 4.7.1
- Let's Encrypt / DigiCert / any public CA SERVFAIL (CAA / DNSSEC)