554 5.4.14 Hop count exceeded - possible mail loop Email / SMTP Origin: Network Last updated 4 Nov 2026

SMTP: 554 5.4.14 Hop count exceeded - possible mail loop

The message passed through too many mail servers (usually over 25), which almost always means two systems forward mail to each other in a loop.

Exact message you may see 554 5.4.14 Hop count exceeded - possible mail loopmail loops back to myselfHop count exceeded554 5.4.6 Too many hopstoo many Received headers
Seen on: SMTP Linux

Meaning

Each server adds a Received header. When the limit is reached the message bounces. Typical culprits are a forwarding rule on A to B and B back to A, a catch-all that forwards to itself, or an alias that points to its own address.

Common causes

  • Two forwarding rules pointing at each other
  • Alias or forwarder pointing to itself
  • Catch-all forwarding plus MX confusion
  • Mail routing between on-prem and cloud misconfigured
  • Auto-responders replying to each other

⚡ Quick fix

  1. Inspect the Received headers of the bounce to find the repeating hosts
  2. Remove the circular forward or alias
  3. Check MX records and accepted domains for conflicting routing

Detailed fix by platform

Postfix

  1. postconf -n | grep -E "virtual_alias|alias_maps" and postmap -q user@example.com hash:/etc/postfix/virtual to see where an address goes

How to diagnose

  1. Headers — Which hosts repeat?
  2. Rules — Forwarders pointing back?
  3. Routing — MX and accepted domains?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Network. Errors that are often confused with or caused by this one (click to open):

421 4.7.0 Try again later (rate limited) — SMTP: 421 4.7.0 Our system has detected an unusual rate of unsolicited mail originating from your IP address. Mail sent from your IP address has been temporarily rate limited (Email / SMTP)421 4.7.0 Try again l…450 4.7.1 Greylisted, please try again later — SMTP: 450 4.7.1 <user@example.com>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/example.com.html (Email / SMTP)450 4.7.1 Greylisted,…451 4.3.0 Local error in processing — SMTP: 451 4.3.0 Error: queue file write error / 451 Requested action aborted: local error in processing (Email / SMTP)451 4.3.0 Local error…452 4.2.2 Mailbox full / over quota — SMTP: 452 4.2.2 The email account that you tried to reach is over quota (Email / SMTP)452 4.2.2 Mailbox ful…554 5.7.1 Service unavailable; client host rejected — SMTP: 554 5.7.1 Service unavailable; Client host [203.0.113.5] blocked / 554 5.7.1 <mail.example.com>: Client host rejected: Access denied (Email / SMTP)554 5.7.1 Service una…Network is unreachable — connect: Network is unreachable (ENETUNREACH) (Linux)Network is unreachableNo MX record / Domain not found — SMTP: 550 5.1.2 Domain not found / 554 5.4.4 Unable to resolve MX / Host or domain name not found (Email / SMTP)No MX record / Domain…path-to-regexp — TypeError: Missing parameter name at 1 (path-to-regexp) (Node.js)path-to-regexp554 5.4.1…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.