3-digit reply code Permanent

SMTP error 554

Transaction failed.

Updated Jul 1, 2026

The short answer

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.

Quick fix

Check blacklists for your IP and domain, then repair and warm up sender reputation.

5 - Permanent. The server will not try again. Fix the cause before you resend.

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

554 5.7.1 relay access denied

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.

554 5.7.1 or 5.7.0 policy, spam, or reputation block

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.

554 5.7.1 after DATA, no valid recipients

RFC 5321 lets a server answer DATA with 554 when every RCPT TO was already rejected, so the recipient address was bad or refused.

554 5.3.4 message too big for system

A size limit: the message is over the receiver maximum.

554 with no enhanced code

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. For 5.3.4 too big, cut the size

    Reduce the attachment or message size, or host large files behind a link.

  6. 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.

Related codes

Ready when you are

Most rejections come back to sender reputation.

Blocklists, auth failures, and policy blocks are what warmup prevents. Warm up your domain so your mail is trusted before you hit send.

7-day free trialNo credit cardCancel anytime