Riferimento
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 e da un messaggio leggibile:
550 5.1.1 <ada@example.com>: Recipient address rejected: User unknownLa 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 con la risposta completa e decide se ritentare:
- Bounce immediato. Risposte con codice
550,551,553o554, e risposte il cui testo indica che l’errore è permanente. L’email riceve lo statobounced. - Nuovo tentativo. Tutto il resto, compresi
421,450,451,452, timeout ed errori di connessione. L’email riceve lo statoattempteded 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
451mette in pausa per 5 minuti la consegna da quell’IP di invio verso quel dominio destinatario. Un blocco550 5.7.1(per motivi diversi dal contenuto) la mette in pausa per 1 ora. Le email che incontrano una pausa vengono impostate suattemptede ritentate secondo il calendario normale.
Gli hard bounce portano alla soppressione automatica in base alle impostazioni del workspace. Per cause e soluzioni raggruppate per problema, vedi Categorie di bounce.
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. |
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 APILogs 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 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 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 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. |
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.