What the receiver is telling you
A permanent failure, mostly used by receivers for policy refusals rather than bad addresses: blocklists, reputation, relay denial, content. Gmail and Yahoo lean on 554 for their reputation blocks. Yahoo also uses it for bad addresses, which is why the text matters. As with 550, the code itself is only the first digit of the story.
Why a policy block must not be treated as a bad address
Sending tools file every 5xx under "bounced", and the natural reflex is to scrub the address. For a policy block that is exactly wrong. The recipient exists and would have received the mail; the receiver refused it because of your domain, IP, authentication or content. Scrubbing throws away a lead and leaves the cause in place, so the next send produces the same block against the next thousand addresses. The right response is to stop sending from the affected domain, find what the receiver named, fix it, and resume at low volume.
What to do
- Read the enhanced code and text. 5.7.x with 'blocked', 'policy' or a blocklist name is a sender-side block.
- Yahoo 'dd Not a valid recipient' is a bad address despite the 554 — remove it.
- 'Relay access denied' means you sent to a server that is not the domain's MX, or you need to authenticate; check your routing.
don't Do not scrub addresses on a 554 without reading the text. Most of them are about you.
Decode the whole bounce
Paste the complete failure notice — every code and the receiver's wording — and get each part explained together.
Common questions
Is 554 worse than 550?
Not really; they are both permanent. Receivers pick between them by convention, and 554 is more often used for policy refusals.
Yahoo returned 554 with TSS04 — what is that?
Yahoo's reputation block. Slow sends to Yahoo and AOL to a trickle, fix authentication, and use Yahoo's sender support form if it persists.
Often seen alongside
Related reading
If this is the thing going wrong
The pages explain it. If you would rather it was simply fixed, that is the work I do.