// come risolvere
Rimbalzo "554 5.4.6 Hop count exceeded - possible mail loop": come risolvere
Email rifiutata con 5.4.6 o 5.4.14 hop count exceeded? Il messaggio gira in tondo tra i server. Trova il loop e interrompilo.
Cosa significa
Ogni volta che un'email passa per un server, quel server aggiunge una riga Received alle intestazioni. È un "hop" (passaggio). Se un messaggio accumula troppi passaggi, i server presumono che stia girando in tondo (un loop di posta) e lo fermano con un messaggio di errore. Di solito è simile a questo:
554 5.4.6 Hop count exceeded - possible mail loop
Microsoft 365 usa 554 5.4.14 Hop count exceeded - possible mail loop, a volte seguito da ATTR1 o ATTR34. Secondo Microsoft, il 5.4.14 proviene da Exchange Online e il 5.4.6 di solito da un server Exchange on-premises. Anche Postfix usa lo stato 5.4.6, per esempio con il testo mail for yourdomain.com loops back to myself o mail forwarding loop for user@yourdomain.com.
Perché succede
- Inoltri in cerchio. L'indirizzo A inoltra a B e B inoltra di nuovo ad A (o passando per C). Succede spesso dopo aver configurato l'inoltro sia sulla vecchia sia sulla nuova casella.
- L'MX punta a un server che non conosce il dominio. Il server riceve la posta, non si considera la destinazione finale, cerca l'MX e la invia… a se stesso. Su Postfix, succede quando il dominio manca da
mydestinationo dalle impostazioni dei domini virtuali. - Due sistemi pensano ciascuno che la casella sia sull'altro. Tipico di Exchange ibrido o durante una migrazione: l'on-premises invia al cloud, il cloud rimanda all'on-premises.
- Connettori o gateway sbagliati. Un gateway di filtraggio invia la posta a Microsoft 365 e un connettore o una regola la rimanda al gateway.
- Dominio accettato impostato come relay. In Exchange Online, un dominio impostato come "internal relay" inoltra i destinatari sconosciuti a un altro server, che li rimanda indietro.
- Risposte automatiche e regole di inoltro che si rispondono a vicenda.
Come verificare
- Apri il messaggio di errore e leggi le intestazioni del messaggio restituito. Leggi le righe
Receiveddal basso verso l'alto. Vedrai ripetersi gli stessi due o tre nomi di server: sono loro a formare il loop. La nostra guida per leggere le intestazioni di un'email spiega ogni riga. - Controlla i record MX del dominio del destinatario con lo scanner di domini, oppure con
dig MX yourdomain.com +short. Devono puntare al server o al servizio che ospita davvero le caselle. Vedi anche record MX che punta a un CNAME o a un IP. - Su Postfix, verifica che il dominio sia dichiarato come locale o virtuale:
postconf mydestination virtual_mailbox_domains relay_domains postconf -n | grep -i transport
- Su Microsoft 365, in Exchange Online PowerShell:
Get-AcceptedDomain | Format-Table Name,DomainType Get-Mailbox user@yourdomain.com | Format-List ForwardingAddress,ForwardingSmtpAddress Get-InboxRule -Mailbox user@yourdomain.com Get-InboundConnector; Get-OutboundConnector
Anche la traccia messaggi nell'interfaccia di amministrazione di Exchange mostra il percorso seguito da un messaggio.
Come risolvere
- Interrompi gli inoltri in cerchio. Mantieni l'inoltro in una sola direzione e rimuovilo dalla vecchia casella quando la migrazione è terminata.
- Rendi un solo server autorevole. Su Postfix, aggiungi il dominio a
mydestination(utenti locali) o avirtual_mailbox_domains(utenti virtuali), mai a entrambi, poisystemctl reload postfix. In Exchange Online, imposta il dominio su Authoritative, a meno che alcune caselle non si trovino davvero altrove. - Correggi l'MX in modo che punti al sistema che ospita le caselle. Dopo un cambio di provider, aggiornalo presso il tuo provider DNS e rimuovi le vecchie voci.
- Correggi l'instradamento ibrido. Assicurati che ogni casella esista in un solo posto (una casella nel cloud deve essere una "remote mailbox" on-premises, non una seconda casella) e che i connettori inviino all'altro lato solo per i destinatari che si trovano davvero lì.
- Rivedi i gateway. Se un servizio di filtraggio si trova davanti alle tue caselle, il percorso in entrata (gateway → casella) e quello in uscita (casella → gateway → internet) non devono rimandare indietro lo stesso messaggio.
- Ferma le guerre di risposte automatiche con regole che non rispondono ai messaggi automatici.
Verifica che sia risolto
Invia un nuovo messaggio all'indirizzo che andava in loop e verifica che arrivi con solo poche righe Received. Se hai modificato il DNS, lascia il tempo alla propagazione. Poi invia un test da quel dominio all'indirizzo indicato nella home page di Delivmail per confermare che anche la posta in uscita e l'autenticazione funzionano dopo la modifica dell'instradamento.
Verifica che sia risolto
Una modifica DNS può richiedere da pochi minuti a qualche ora. Poi invia una nuova email di test o scansiona di nuovo il tuo dominio.
Guide correlate
- Nessun record SPF sul tuo dominioIl tuo dominio non dice quali server possono inviare email a suo nome. Aggiungi un record TXT e i destinatari sapranno distinguere le tue email vere da quelle false.
- Errore SPF: troppe query DNS (permerror)SPF permette al massimo 10 query DNS. Oltre questo limite, l'intero record si rompe e i destinatari lo considerano non valido. Ecco come alleggerirlo.
- Più record SPF sullo stesso dominioUn dominio deve avere un solo record SPF. Con due o più, SPF si rompe per tutte le email. Uniscili in un'unica riga.
- SPF fallisce: il server di invio non è autorizzatoIl tuo dominio ha un record SPF, ma il server che ha inviato la tua email non è incluso. Scopri quale servizio ha inviato l'email e aggiungilo.
- Nessuna firma DKIM sulle tue emailDKIM aggiunge una firma digitale che dimostra che un'email arriva davvero dal tuo dominio. Attivala nel tuo provider di posta e pubblica la sua chiave nel DNS.