Skip to content
iBlockSpam
SMTP error code · Standard (RFC)

554 5.4.6: routing loop detected

554 5.4.6 Permanent failure (5xx): the message bounced
By iBlockSpam Team Checked against sources 4 sources How we check our content
What it means

The message went round in a loop, through forwarding rules or misrouted servers, until a hop limit stopped it.

What the bounce says
554 5.4.6 Message exceeded 50 hops, this may indicate an email loop.

Gmail's text, as listed in Google's SMTP errors reference.

What 554 5.4.6 means

RFC 3463 defines X.4.6 as "Routing loop detected": a loop caused the message to be forwarded too many times, either because of incorrect routing tables or a user forwarding loop. RFC 5321 notes that simply counting the Received header fields each hop adds is an effective way to detect loops, and requires servers to detect and stop trivial loops.

Gmail stops a message after 50 hops and returns 554 5.4.6. Microsoft documents the same condition: on-premises Exchange reports 5.4.6 and Exchange Online reports 5.4.14, and by default Exchange interrupts a loop after 20 iterations. Microsoft says loops are typically caused by a configuration error on the sending server, the receiving server or both, and suggests checking mailbox rules for automatic forwarding.

Typical loops: two mailboxes forwarding to each other; an address forwarding to an external account that forwards back; or a domain whose MX points at a server that sends the mail back to the MX (common in hybrid setups and after a migration).

Likely causes

  • Two mailboxes or accounts forward to each other.
  • An auto-reply or rule creates a message that triggers another rule.
  • A server is set to relay a domain to a host that sends it back (common after migrations).
  • Wrong connector or smart host settings in a hybrid setup.

How to fix it

If you sent the message

  1. Usually not your problem: tell the recipient, including the bounce with its Received headers.

If you're the recipient or their admin

  1. Check forwarding settings and inbox rules on the mailbox and any address it forwards to.
  2. Read the Received headers in the bounce to see which servers the message bounced between.
  3. Check connectors, smart hosts and MX records, especially after a migration.

Frequently asked questions

How do I find where the loop is?

Open the bounce and read the Received headers of the returned message. You'll see the same servers or addresses repeating; the place where the path turns back is where the misconfiguration is.

What's the difference between 5.4.6 and 5.4.14?

Both report a loop. Microsoft says on-premises Exchange reports 5.4.6 (which you see in hybrid setups) and Exchange Online reports 5.4.14.

Sources

  1. RFC 3463: Enhanced Mail System Status Codes
  2. RFC 5321, section 6.3: Loop detection
  3. Gmail SMTP errors and codes (Google Workspace Admin Help)
  4. Email nondelivery reports (NDRs) and SMTP errors in Exchange Online (Microsoft Learn)

Provider messages are quoted as the provider publishes them. Servers can change their wording, so the bounce you received may differ slightly.