SMTP Error 446 - Maximum hop count exceeded — a label for a mail loop, not a real code. | Warmup Inbox
The short answer
SMTP 446 is a non-standard label for "maximum hop count exceeded", a message bounced because it passed through too many mail servers, almost always a mail loop. The real bounce is 554 5.4.6 (or 5.4.14 on Exchange Online), enhanced status 4.4.6 "routing loop detected." Fix it by breaking the forwarding or connector loop, not by raising a hop limit.
Quick fix
Find and break the forwarding or connector loop.
4 - Temporary. Safe to retry. The message is not lost and most servers retry automatically.
What it means
446 is not a real SMTP reply code. RFC 5321 defines no 446 and only describes loop detection by counting Received: header fields, with no numeric hop limit and no assigned reply code. So treat "446" as a human-readable name for the hop-count problem and look at the codes your mail system actually emits. The relevant enhanced code is X.4.6 "routing loop detected", returned by real servers as a permanent 554 reply.
Common causes
A forwarding loop
A forwards to B and B forwards back to A, or an auto-forward rule points at an address that loops home.
MX or accepted-domain misconfiguration
The recipient domain is not configured as an authoritative accepted domain, so the message ricochets.
Hybrid connector misconfiguration
On Exchange or Microsoft 365, an inbound connector using DNS routing instead of smart-host routing, or a missing or wrongly scoped outbound connector.
How to fix it
Read the bounce carefully
- Confirm the real code. 554 5.4.6 is on-premises Exchange; 554 5.4.14 ATTR34 is Exchange Online. It tells you where the loop lives.
Inspect the Received: headers
- Repeating server names in a looping message show exactly which two hosts are bouncing it back and forth.
Audit forwarding rules
- Check mailbox forwarding, transport rules, distribution-list memberships, and aliases. Remove the rule that sends mail back toward its source.
Verify the recipient domain is accepted
- On the receiving system, confirm the domain is an authoritative accepted domain.
Check MX records and connectors
- In a hybrid Exchange setup, rerunning the Hybrid Configuration Wizard is the simplest fix so connectors use correct smart-host routing.
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 446 a real SMTP error code?
No. RFC 5321 defines no 446. It is a label for a hop-count or mail-loop condition. The real codes are 554 5.4.6 (on-premises Exchange) and 554 5.4.14 ATTR34 (Exchange Online), with enhanced status 4.4.6.
Should I increase the maximum hop count to fix it?
No. Most platforms do not expose one, and raising it just delays the same bounce. Find and break the loop instead.
Is 446 a temporary error I can just retry?
No. Although RFC 3463 describes the bare 4.4.6 as transient, mail servers deliver this as a permanent 554 bounce. Retrying without fixing the loop keeps bouncing.
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.