SMTP error 554
Transaction failed.
Updated Jul 1, 2026
SMTP 554 is a permanent rejection (RFC 5321 "transaction failed"). The receiving server refused the message outright and will not retry. It is the most generic 5xx code, so the real reason sits in the enhanced status code and text after it, for example 5.7.1 for a relay or policy block. Read that suffix, then fix authentication, reputation, or the recipient address it names.
Check blacklists for your IP and domain, then repair and warm up sender reputation.
What it means
554 is defined in RFC 5321 section 4.2.3 as "transaction failed", or "no SMTP service here" when it is returned in place of the 220 greeting on connection. The leading 5 makes it a permanent negative completion reply, so a well-behaved sender does not retry the same message unchanged. 554 is the least specific of the permanent codes. Where 550 means mailbox unavailable and 552 means storage exceeded, 554 is the catch-all "I refuse this transaction". The number itself tells you almost nothing. The actionable detail is in the RFC 3463 enhanced status code and the free-text message that follow it.
Common causes
A relay or authorization refusal: the server will not relay mail for you. Usually SMTP AUTH is off or wrong, or you are sending to a domain the server does not accept, such as an Exchange host whose Accepted Domains list does not include the recipient.
The message passed auth but the content, anti-spam, or policy layer rejected it. Poor sender IP or domain reputation, blocklisting, failing DMARC alignment, and spammy content are the usual triggers.
RFC 5321 lets a server answer DATA with 554 when every RCPT TO was already rejected, so the recipient address was bad or refused.
A size limit: the message is over the receiver maximum.
Providers such as SendGrid return a bare "554 Mail refused" as a generic permanent failure. Treat it as a bounce and suppress that recipient.
How to fix it
- Read the full response line first
Capture everything after 554. The enhanced code and text are the diagnosis, and the steps below map to the buckets above.
- For relay access denied, turn on SMTP AUTH
Send valid credentials over a submission port, 587 with STARTTLS or 465 with implicit TLS, both valid per RFC 8314. For Gmail and Google Workspace use an App Password with 2-Step Verification or OAuth2, since Google removed Less Secure Apps. If you run the server, confirm the recipient domain is in its accepted or relay domains.
- For a policy or reputation block, authenticate end to end
Publish a valid SPF record, sign with DKIM (RFC 6376, using SHA-256 per RFC 8301 rather than the deprecated rsa-sha1), and make DMARC pass with alignment (RFC 9989, which obsoletes RFC 7489). Check your IP or domain against blocklists with MXToolBox and request delisting where warranted. Warm up new IPs, prune unengaged recipients, and review content for spam triggers.
- For a named bad recipient, fix the address
Check for typos and remove dead addresses. Never resend to an address that returned a permanent 554.
- For 5.3.4 too big, cut the size
Reduce the attachment or message size, or host large files behind a link.
- Do not auto-retry
554 is permanent. Fix the root cause, suppress the address, and resend only once the cause is resolved.
Paired code
A real bounce often shows both a 3-digit code and an enhanced code together. This one commonly pairs with:
Common questions
Is SMTP error 554 permanent or temporary?
Permanent. The leading 5 makes it a permanent negative completion reply under RFC 5321, so the server will not retry. Resend only after fixing the underlying cause, whether auth, reputation, address, or size, and never auto-retry the same message.
What is the difference between SMTP 554 and 550?
550 is the more specific "mailbox unavailable", most often a bad address. 554 is the generic "transaction failed" catch-all, so its cause could be relay refusal, a policy or reputation block, no valid recipients, or size, all of which live in the enhanced code and text.
What does 554 5.7.1 relay access denied mean?
The receiving server will not relay your mail. Either your SMTP authentication is off or wrong, or you are sending to a domain the server does not accept. Turn on SMTP AUTH with valid credentials, or add the recipient domain to the server accepted domains.