# Codici di risposta SMTP

> Cosa significa ogni codice di risposta SMTP, se è temporaneo o permanente, come lo gestisce Emailit e le risposte che l’SMTP relay di Emailit invia alla tua app.

Ogni comando SMTP riceve una risposta a tre cifre. Questa pagina elenca i codici che vedi in due punti: le risposte dei server di posta dei destinatari quando Emailit consegna la tua posta, e le risposte dell’SMTP relay di Emailit quando la tua app invia tramite `smtp.emailit.com`.

## Come leggere una risposta

Una risposta inizia con un codice a tre cifre, di solito seguito da un [codice di stato esteso](/it/docs/dictionary/enhanced-status-codes/) e da un messaggio leggibile:

```text
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknown
```

La prima cifra indica l’esito:

| Prima cifra | Significato | Cosa deve fare il mittente |
|---|---|---|
| `2` | Successo. Il comando è stato accettato. | Continuare. |
| `3` | Intermedio. Il server ha bisogno di altri dati, ad esempio il corpo del messaggio dopo `DATA`. | Inviare la parte successiva. |
| `4` | Errore temporaneo. Lo stesso comando potrebbe funzionare più tardi. | Riprovare più tardi. |
| `5` | Errore permanente. Ripetere il comando non serve. | Non riprovare senza cambiare qualcosa. |

La seconda cifra indica la categoria (`0` sintassi, `1` informazioni, `2` connessione, `5` sistema di posta), e la terza la restringe ulteriormente. I server usano spesso i codici in modo approssimativo, quindi leggi sempre anche il codice esteso e il testo del messaggio.

## Come Emailit gestisce le risposte dei server dei destinatari

Quando il server di un destinatario risponde con un errore, Emailit registra una [consegna](/it/docs/logs/email-details/) con la risposta completa e decide se ritentare:

- **Bounce immediato.** Risposte con codice `550`, `551`, `553` o `554`, e risposte il cui testo indica che l’errore è permanente. L’email riceve lo stato `bounced`.
- **Nuovo tentativo.** Tutto il resto, compresi `421`, `450`, `451`, `452`, timeout ed errori di connessione. L’email riceve lo stato `attempted` ed Emailit ritenta fino a 7 volte in circa 21 ore (dopo 10, 20, 40, 80, 160, 320 e 640 minuti). Se tutti i tentativi non riescono, l’email genera un bounce e l’indirizzo viene soppresso.
- **Trattate come permanenti nonostante un codice 4xx.** Le risposte comuni «mailbox full», «over quota», «user unknown», «mailbox disabled» e «relay access denied» vengono riscritte come errore permanente, perché ritentarle raramente funziona.
- **Pausa.** Una risposta `451` mette in pausa per 5 minuti la consegna da quell’IP di invio verso quel dominio destinatario. Un blocco `550 5.7.1` (per motivi diversi dal contenuto) la mette in pausa per 1 ora. Le email che incontrano una pausa vengono impostate su `attempted` e ritentate secondo il calendario normale.

Gli hard bounce portano alla [soppressione automatica](/it/docs/suppressions/manage/) in base alle impostazioni del workspace. Per cause e soluzioni raggruppate per problema, vedi [Categorie di bounce](/it/docs/dictionary/bounce-categories/).

## Riferimento dei codici di risposta

La colonna «Emailit» descrive cosa succede quando il server di un destinatario invia questo codice durante la consegna.

### 2xx e 3xx: successo e risposte intermedie

| Codice | Significato | Tipo | Emailit |
|---|---|---|---|
| `220` | Servizio pronto. Il saluto del server, inviato anche prima di un handshake `STARTTLS`. | Successo | Prosegue la conversazione. |
| `221` | Chiusura della connessione, di solito dopo `QUIT`. | Successo | Nessuna azione. |
| `235` | Autenticazione riuscita. | Successo | Non usato nella consegna ai destinatari; il relay di Emailit lo invia alla tua app dopo `AUTH`. |
| `250` | Azione richiesta completata. Dopo `DATA`, il server ha accettato il messaggio. | Successo | Imposta l’email su `delivered`. |
| `251` | Utente non locale; il server inoltrerà il messaggio. | Successo | Trattato come `250`. |
| `252` | Il server non può verificare l’utente ma proverà a consegnare. | Successo | Trattato come `250`. |
| `354` | Inizia a inviare il corpo del messaggio; terminalo con una riga che contiene un solo punto. | Intermedio | Invia il messaggio. |

### 4xx: errori temporanei

| Codice | Significato | Tipo | Emailit |
|---|---|---|---|
| `421` | Servizio non disponibile, chiusura della connessione. Spesso troppe connessioni o un blocco temporaneo per reputazione. | Temporaneo | Ritentato. Le varianti di casella piena e account non disponibile generano un bounce. |
| `450` | Casella non disponibile, ad esempio occupata, bloccata o in greylisting. | Temporaneo | Ritentato. Le varianti di quota, utente sconosciuto e casella disattivata generano un bounce. |
| `451` | Errore locale di elaborazione, spesso limitazione della velocità o greylisting. | Temporaneo | Ritentato, con una pausa di 5 minuti per quell’IP e quel dominio. Le varianti di quota superata e casella inattiva generano un bounce. |
| `452` | Spazio di sistema insufficiente, oppure troppi destinatari in una sola transazione. | Temporaneo | Ritentato. Le varianti di quota, spazio e casella piena generano un bounce. |
| `454` | Errore temporaneo di autenticazione o TLS. | Temporaneo | Ritentato. Le varianti «relay access denied» generano un bounce. |

### 5xx: errori permanenti

| Codice | Significato | Tipo | Emailit |
|---|---|---|---|
| `500` | Errore di sintassi, comando non riconosciuto. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `501` | Errore di sintassi nei parametri o negli argomenti, come un indirizzo malformato. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `502` | Comando non implementato. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `503` | Sequenza di comandi errata. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `504` | Parametro del comando non implementato. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `521` | Il dominio non accetta posta (RFC 7504). | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `530` | Autenticazione richiesta, oppure il server richiede prima TLS. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `534` | Meccanismo di autenticazione troppo debole. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `535` | Credenziali di autenticazione non valide. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `538` | Cifratura richiesta per il meccanismo di autenticazione richiesto. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `550` | Casella non disponibile: l’indirizzo non esiste, oppure il server ha rifiutato il messaggio per motivi di policy o di spam. | Permanente | Bounce. I blocchi `550 5.7.1` attivano anche una pausa di 1 ora per quell’IP e quel dominio. |
| `551` | Utente non locale; il server non inoltrerà il messaggio. | Permanente | Bounce. |
| `552` | Casella piena oppure messaggio oltre il limite di dimensione del server. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. Le risposte note di quota superata generano subito un bounce. |
| `553` | Nome della casella non consentito, ad esempio un indirizzo non valido. | Permanente | Bounce. |
| `554` | Transazione non riuscita, spesso un rifiuto per policy, spam o reputazione. Inviato anche come saluto quando un server rifiuta la connessione. | Permanente | Bounce. |
| `555` | Parametri di `MAIL FROM` o `RCPT TO` non riconosciuti. | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |
| `556` | Il dominio non accetta posta (RFC 7504). | Permanente | Ritentato, poi bounce dopo l’ultimo tentativo. |

> **Perché alcuni codici 5xx vengono ritentati:** Emailit imposta subito il bounce solo con `550`, `551`, `553` e `554`, o quando la risposta indica che l’errore è permanente. Le altre risposte `5xx` vengono ritentate come errori temporanei e generano un bounce dopo il settimo tentativo. Nel frattempo l’email risulta `attempted`.

## Risposte dell’SMTP relay di Emailit

Quando la tua app invia tramite `smtp.emailit.com`, queste sono le risposte che Emailit può restituire. Le risposte ai comandi `MAIL` e `DATA` su una connessione autenticata compaiono anche in **Email API → Logs** con il relativo codice di stato.

| Risposta | Comando | Causa | Cosa fare |
|---|---|---|---|
| `235 Authentication successful` | `AUTH` | La chiave API è stata accettata. | Continua. |
| `535 Authentication failed` | `AUTH` | La password non è una chiave API valida per nessun workspace. | Usa una chiave API attuale come password. Il nome utente può essere `emailit`. |
| `454 Temporary authentication failure` | `AUTH` | Emailit non ha potuto controllare la chiave a causa di un errore interno. | Riprova dopo una breve attesa. |
| `504 Error: Unrecognized authentication type` | `AUTH` | Il client ha usato un metodo diverso da `PLAIN` o `LOGIN`, come `CRAM-MD5`. | Imposta il client su `PLAIN` o `LOGIN`. |
| `452 4.4.5 Messages per second limit exceeded (n/limit)` | `MAIL FROM` | Il workspace ha raggiunto il [limite di invio](/it/docs/limits/) al secondo. Il limite è condiviso da API e SMTP. | Rallenta e riprova. La maggior parte delle librerie di posta ritenta automaticamente le risposte `4xx`. |
| `452 4.5.3 Daily message limit exceeded (n/limit)` | `MAIL FROM` | Il workspace ha raggiunto il limite di invio giornaliero, che si azzera alle 00:00 UTC. | Attendi l’azzeramento o chiedi un limite più alto dal pannello. |
| `451 Temporary local error in processing` | `MAIL FROM`, `RCPT TO`, `DATA` | Un problema temporaneo dal lato di Emailit. | Riprova più tardi. |
| `530 Authentication required` | `RCPT TO` | Il client non ha effettuato l’accesso prima di inviare. | Attiva l’autenticazione SMTP nel client. |
| `501 Invalid RCPT TO format` | `RCPT TO` | L’indirizzo del destinatario è malformato. | Correggi l’indirizzo. |
| `550 Unverified workspaces can only send to workspace members' account emails.` | `RCPT TO` | Il workspace è in [modalità sandbox](/it/docs/workspaces/production-access/) e il destinatario non è un membro. | Invia all’email dell’account di un membro, oppure richiedi l’accesso alla produzione. |
| `535 Mail server has been suspended` | `RCPT TO` | Il workspace è sospeso. | Controlla la salute degli invii e contatta il supporto. |
| `530 From/Sender domain is not verified for this workspace. From: ...` | `DATA` | L’header `From` non è su un dominio di invio verificato del workspace. I sottodomini devono essere verificati separatamente. | [Verifica il dominio](/it/docs/domains/verification/) o cambia l’indirizzo `From`. |
| `530 API key is restricted to sending domain: acme.com. ...` | `DATA` | La chiave API è limitata a un dominio e l’indirizzo `From` ne usa un altro. | Usa il dominio consentito o un’altra chiave. |
| `550 Sending from this domain is paused` | `DATA` | Il dominio è stato messo in pausa, di solito per un tasso di bounce elevato. | Vedi [Salute degli invii](/it/docs/deliverability/sending-health/). |
| `552 Message too large (maximum size 40MB)` | `DATA` | Il messaggio, compresi gli allegati codificati, supera i 40 MB. | Invia allegati più piccoli oppure inserisci un link ai file. |
| `550 Loop detected` | `DATA` | Il messaggio è già passato più di 4 volte attraverso il relay di Emailit. | Controlla le regole di inoltro che rimandano la posta a Emailit. |
| `550 Message processing failed` | `DATA` | Emailit non è riuscito a memorizzare il messaggio. | Riprova. Se continua a non riuscire, contatta il supporto indicando l’ora del tentativo. |
| `250 2.0.0 OK: queued as em_...` | `DATA` | Emailit ha accettato il messaggio. Ogni destinatario riceve il proprio ID email, elencati e separati da virgole quando entrano nella risposta. | Memorizza l’ID per cercare l’email nel pannello o con l’API. |

Il relay invia anche le risposte standard del protocollo, come `220` quando ti colleghi, `503 Error: need MAIL command` quando i comandi arrivano nell’ordine sbagliato e `421 Timeout - closing connection` quando una connessione resta inattiva.

> **Email in entrata:** Quando Emailit riceve posta per il tuo [sottodominio di ricezione](/it/docs/inbound/set-up/) e il workspace ha esaurito i crediti, il server mittente riceve `452 Insufficient credits to receive inbound email` e riprova più tardi.

## Vedi anche

- [Codici di stato estesi](/it/docs/dictionary/enhanced-status-codes/)
- [Categorie di bounce](/it/docs/dictionary/bounce-categories/)
- [Impostazioni SMTP](/it/docs/smtp/settings/)
- [Risoluzione dei problemi SMTP](/it/docs/smtp/troubleshooting/)

---
Fonte: https://emailit.com/it/docs/dictionary/smtp-reply-codes/
