What the bounce says
Exact wording as it appears in the rejection or NDR. Placeholders such as x.x.x.x and example.com stand for your own address and domain.
554 5.4.6 Hop count exceeded - possible mail loop 554 5.4.14 Hop count exceeded - possible mail loop ATTR34
A message that keeps travelling without arriving is going in a circle. Exchange counts the Received headers and stops the message when the count exceeds the limit. The loop is almost always two systems configured to hand mail to each other.
Most common causes
- Two servers or connectors route the same domain to each other
- A mailbox forward targets an address that forwards back
- A transport rule redirects into a path already taken
- A smart host relays to a server that relays back
What to verify next
- Trace the Received chain for repeating hosts
- Compare routing on both sides of a hybrid deployment
- Remove circular forwarding and fix the connector target
- Resend a test after breaking the loop
Read the route
Each hop adds a Received line. In a loop the same two or three hosts alternate down the header. The route visualizer orders the chain and highlights repeats, which identifies the pair immediately.
On-premises Exchange reports 5.4.6; Exchange Online reports 5.4.14 with an ATTR34 tag. Both mean the same thing.
- Repeating hosts in Received identify the loop.
- Look at routing changes made recently.
- 5.4.6 on-premises, 5.4.14 in Exchange Online.
Usual configurations
Hybrid: both sides think the other is authoritative for a domain. Send connectors on-premises pointing at the cloud while the cloud connector routes back. Forwarding: mailbox A forwards to B which forwards to A. Smart hosts: an appliance relays to Exchange which relays back to the appliance.
Almost every loop appears within a day of a routing change; compare the change against the repeating hosts.
Fix and flush
Correct the authoritative side, remove the circular forward, or fix the connector target. Then clear the queues — looping messages multiply quickly — and send one test message, tracing its route to confirm it terminates.
Best diagnostic path
Mail Failure Doctor
Classify the complete rejection and preserve provider-specific diagnostic context.
Open analysis → Live analysisEmail Route Visualizer
Turn Received headers into an ordered path to expose loops and unexpected intermediaries.
Open analysis → Live analysisEmail Infrastructure Digital Twin
Map the domain’s public mail infrastructure and provider relationships before remediation.
Open analysis →Known limits
- Hosts in Received are self-reported; a badly configured relay may not name itself clearly.
- Loops involving external forwarders need cooperation from that party.
Common questions
Can DNS cause a loop?
Yes, if MX or a smart-host record points at a system that relays back. Usually it is connector or forwarding configuration.
How many hops are allowed?
Exchange’s default limit is 30 for on-premises; Exchange Online uses its own limit. Normal delivery uses far fewer.
Is mail lost?
The looping messages are discarded with the NDR. Resend after fixing the loop.
Why the exact message matters
The same status family can be triggered by different conditions, and providers frequently add diagnostic text that narrows the issue. Use the complete rejection text rather than treating the numeric code as a complete diagnosis.
Provider reference
For the provider-defined meaning and current requirements, review Microsoft: Fix error codes 5.4.6 through 5.4.20.