SMTP 554: transaction failed
The receiving server refused the transaction permanently. At connection time it means no SMTP service; after the message, it's usually a policy or content refusal.
554 5.6.0 Email message is malformed. Not accepted.
Start of Gmail's text for a malformed message, one of its 554 replies.
What 554 means
RFC 5321 defines 554 as "Transaction failed (Or, in the case of a connection-opening response, 'No SMTP service here')". It's the broadest permanent failure code.
When a server answers a new connection with 554, it is refusing to talk to your server at all, usually because of the connecting IP address. RFC 7504 notes that 554 is the appropriate reply when a server rejects mail from particular hosts or addresses. When 554 comes after the message has been sent, the receiver has looked at it and refused it: spam scoring, malware, a malformed message, or failed authentication.
Gmail documents 554 5.6.0 for malformed messages and 554 5.4.6 for a message that exceeded 50 hops (a likely mail loop). Yahoo lists 554 among permanent errors, including messages that fail DMARC or DKIM checks and IPs listed by Spamhaus. The enhanced code and text, again, are where the reason lives.
Likely causes
- Your sending IP is on a blocklist the receiver uses.
- The message was classified as spam or contained malware.
- The message failed SPF, DKIM or DMARC checks.
- The message is malformed (bad headers or MIME structure).
- A mail loop pushed the message past the hop limit.
How to fix it
If you sent the message
- Check your sending IP with a blocklist checker and request removal where you're listed.
- Confirm SPF, DKIM and DMARC pass for your domain.
- If one message fails but others pass, look at its content, links and attachments.
If you're the recipient or their admin
- If a wanted sender gets 554 from your server, check your filter logs and allow list.
Frequently asked questions
Why do I get 554 as soon as my server connects?
A 554 in place of the normal greeting means the receiver won't accept mail from your server's IP address at all. Check the IP against public blocklists and the receiver's own sender guidance.
Is 554 always spam-related?
No. It also covers malformed messages and mail loops. The enhanced code and text explain the specific reason.
Sources
- RFC 5321: Simple Mail Transfer Protocol (reply codes, section 4.2)
- RFC 7504: SMTP 521 and 556 Reply Codes
- Gmail SMTP errors and codes (Google Workspace Admin Help)
- SMTP Error Codes (Yahoo Sender Hub)
Provider messages are quoted as the provider publishes them. Servers can change their wording, so the bounce you received may differ slightly.
Related codes
- 550 SMTP 550: requested action not taken, mailbox unavailable
- 554 5.4.6 554 5.4.6: routing loop detected
- 550 5.7.1 550 5.7.1: delivery not authorized, message refused
- 554 Yahoo 554 delivery error: this user doesn't have a yahoo.com account
- 521 SMTP 521: this host does not accept mail
- 554 5.2.0 554 5.2.0 STOREDRV.Deliver.Exception: cannot get ID from name
Related guides
How to get your domain or IP removed from an email blacklist
How to check if your mail server IP or domain is on a DNS blocklist, find the real cause, and request removal from Spamhaus, SpamCop, Barracuda and Microsoft.
9 min read Running email day to dayWhy did this email go to spam or quarantine?
Why an email went to the spam folder or quarantine, what each spam verdict means, how to find the reason in the headers, and how to fix or release the message.
9 min read SPF, DKIM & DMARCMoving DMARC from p=none to p=reject: a staged rollout for small businesses
A staged plan to move DMARC from monitoring to reject without blocking your own mail, including what changes when a filtering gateway sits in front.
9 min read