554 5.7.9
Message not accepted for policy reasons (authentication failure)
The message failed an authentication check the receiving server enforces, most often DMARC.
554 5.7.9 Message not accepted for policy reasons
What it means in practice
Yahoo uses this response when a message fails the sender domain's DMARC check and that domain's policy is p=reject. Other providers reject DMARC failures with different codes (Gmail uses 5.7.26), but the cause is the same.
The common trap is alignment, not a missing record. SPF can pass for your provider's bounce domain and DKIM can pass for the provider's own signing domain, and DMARC still fails, because neither matches the domain in your From header. Fix it by signing DKIM with your own domain and, if you can, setting a custom MAIL FROM subdomain so SPF aligns too.
Forwarding and mailing lists also break SPF, and sometimes DKIM. If only forwarded mail fails, that's expected behaviour under p=reject, not a misconfiguration on your side.
Common causes
- DMARC record set to p=reject and the message failed SPF and DKIM alignment.
- Sending through a relay that breaks SPF/DKIM alignment.
What to do
- →Confirm the `From` domain's SPF and DKIM both align with the actual sending domain, not just a subdomain or forwarding relay.
- →Test with a DMARC checker before setting your own policy to p=reject.