Vai al contenuto
Docs

Risoluzione dei problemi

Perché ricevo l’errore 429 Rate limit exceeded?

Gestisci le risposte 429 dell’API di Emailit. Scopri i limiti di invio al secondo e giornalieri, gli header dei limiti di frequenza e come chiedere limiti più alti.

Aggiornato il 1 ott 2026

Questo articolo spiega perché POST /v2/emails restituisce 429 e come distribuire gli invii nel tempo per evitarlo. Gli stessi limiti valgono per l’SMTP, dove si presentano come risposte 452.

Sintomi

L’API risponde con 429 e uno di questi corpi:

JSON
{
  "error": "Rate limit exceeded",
  "message": "Too many requests. Maximum 2 messages per second allowed.",
  "limit": 2,
  "current": 2,
  "retry_after": 1
}
JSON
{
  "error": "Daily limit exceeded",
  "message": "Daily sending limit of 5000 messages has been reached.",
  "limit": 5000,
  "current": 5000,
  "retry_after": 41200
}

Via SMTP, il comando MAIL FROM non riesce con 452 4.4.5 Messages per second limit exceeded o 452 4.5.3 Daily message limit exceeded.

Causa

Ogni workspace ha due limiti di invio, condivisi da tutte le chiavi API e dall’SMTP:

  • Al secondo. I nuovi workspace partono da 2 email al secondo.
  • Al giorno. I nuovi workspace partono da 5000 email al giorno. Il contatore si azzera a mezzanotte UTC.

L’API conta ogni destinatario come un’email, quindi una richiesta con tre indirizzi tra to, cc e bcc ne usa tre. Le cause più comuni sono i picchi da worker in parallelo, i cicli di nuovi tentativi senza backoff e i job in batch che partono tutti alla stessa ora.

Ogni risposta di invio include header che ti dicono a che punto sei:

Header Significato
ratelimit-limit / ratelimit-remaining Limite al secondo e quanto resta nel secondo corrente
ratelimit-daily-limit / ratelimit-daily-remaining Limite giornaliero e quanto resta oggi
ratelimit-daily-reset Secondi mancanti alla mezzanotte UTC
retry-after Secondi da attendere prima di riprovare (solo con 429)

Soluzione

  1. Attendi e riprova. Rispetta retry-after (o retry_after nel corpo) prima di inviare di nuovo. Una richiesta con risposta 429 non viene inviata né addebitata, quindi puoi ritentarla senza rischi. Aggiungi una Idempotency-Key per proteggerti dai nuovi tentativi a livello di rete.

  2. Regola il ritmo degli invii. Usa una coda con un limite di concorrenza pari a ratelimit-limit e, dopo un 429, applica un backoff esponenziale invece di ritentare in un ciclo stretto.

  3. Distribuisci gli invii grandi. Se raggiungi il limite giornaliero, programma il resto con scheduled_at dopo la mezzanotte UTC, oppure usa una campagna per le email di marketing.

  4. Controlla i limiti attuali. Il riquadro Sending Limits nella pagina Dashboard mostra i limiti al secondo e giornalieri e l’utilizzo di oggi.

  5. Chiedi limiti più alti. Seleziona Request Increase nel riquadro Sending Limits e indica i limiti che ti servono, da dove arrivano i tuoi destinatari e perché. Di solito il team risponde entro 24 ore. Con Pro e Business i limiti aumentano anche automaticamente finché la salute degli invii resta buona.

Vedi Limiti di frequenza per il riferimento completo e Limiti e quote per tutte le quote dei piani.

Serve ancora aiuto?

Contatta il supporto o chiedi su Discord. Indica il volume previsto al giorno e al secondo e un esempio di risposta 429.

Questa pagina ti è stata utile?

Grazie del feedback.

Grazie, leggiamo ogni messaggio.