3-digit reply code Temporary

SMTP error 446

Maximum hop count exceeded — a label for a mail loop, not a real code.

Updated Jul 1, 2026

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

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

  2. Inspect the Received: headers

    Repeating server names in a looping message show exactly which two hosts are bouncing it back and forth.

  3. Audit forwarding rules

    Check mailbox forwarding, transport rules, distribution-list memberships, and aliases. Remove the rule that sends mail back toward its source.

  4. Verify the recipient domain is accepted

    On the receiving system, confirm the domain is an authoritative accepted domain.

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

7-day free trialNo credit cardCancel anytime