Guida pratica
Ritenta e inoltra le email
Reinvia come nuova email un’email rimbalzata, non riuscita, soppressa o trattenuta, oppure inoltra un’email inviata a un altro destinatario, dal pannello o con l’API.
Un nuovo tentativo invia di nuovo un’email con lo stesso contenuto dopo che è rimbalzata, non è riuscita, è stata soppressa o trattenuta. L’inoltro invia una copia di un’email già inviata a un’altra persona, ad esempio un collega dell’assistenza o un cliente che ha perso l’originale. Entrambi creano una nuova email con il proprio ID e lasciano invariata quella originale.
Prima di iniziare
- Nell’API, entrambi gli endpoint funzionano con le chiavi Full Access e Sending Only.
- Entrambi vengono addebitati come nuovi invii, quindi ti servono crediti sufficienti.
- Entrambi richiedono il contenuto originale del messaggio. Emailit lo elimina quando termina il periodo di conservazione dei dati per il contenuto dei messaggi:
| Pay as you go | Pro | Business | Custom | |
|---|---|---|---|---|
| Contenuto dei messaggi conservato | 7 giorni | 30 giorni | 30 giorni | Flessibile |
Ritenta un’email
Un’email si può ritentare quando sono vere tutte queste condizioni:
| Requisito | Dettagli |
|---|---|
| Stato | bounced, failed, suppressed o held |
| Età | Creata da meno di 30 giorni |
| Contenuto | Il contenuto del messaggio non è stato eliminato dalla conservazione dei dati |
| Dominio di invio | Il dominio di invio originale esiste ancora nel workspace |
Un nuovo tentativo crea una nuova email con un nuovo ID em_ e un nuovo Message-ID. Riusa il messaggio grezzo, il destinatario, i metadati e le impostazioni di tracciamento dell’originale, e passa per la normale pipeline di consegna. Costa 1 credito, oppure 2 crediti se l’originale era un’email di una campagna. Un workspace in modalità sandbox può ritentare solo le email indirizzate ai membri del workspace.
Risolvi la causa prima di ritentare, altrimenti la nuova email finisce con lo stesso stato:
- Soppressa: rimuovi prima l’indirizzo dalle soppressioni.
- Trattenuta per crediti insufficienti: ricarica i crediti.
- Trattenuta perché il dominio era in pausa: risolvi il problema di salute degli invii.
- Trattenuta per il punteggio spam: un nuovo tentativo invia lo stesso contenuto e probabilmente verrà trattenuto di nuovo. Modifica il contenuto e invia invece una nuova email. Vedi Controlli antispam.
- Rimbalzata: controlla il motivo del bounce nella pagina di dettaglio dell’email. Una casella che non esiste rimbalzerà di nuovo. Se Emailit ha aggiunto l’indirizzo alle soppressioni dopo il bounce, rimuovilo prima.
- Vai a Email APIEmails e apri l’email.
- Seleziona Retry in alto nella pagina. Il pannello lo mostra sulle email trattenute e soppresse; le email rimbalzate e non riuscite si ritentano con l’API.
- Seleziona di nuovo Retry nella finestra Retry Email per confermare. La nuova email compare nell’elenco con il proprio ID.
Chiama Ritenta un’email (POST /emails/{id}/retry) con l’ID dell’email originale. Non c’è corpo della richiesta.
curl -X POST https://api.emailit.com/v2/emails/em_33VtK8mRq1xZp7LwN4cY2bHsDfa/retry \
-H "Authorization: Bearer $EMAILIT_API_KEY"const retried = await emailit.emails.retry('em_33VtK8mRq1xZp7LwN4cY2bHsDfa');retried = client.emails.retry("em_33VtK8mRq1xZp7LwN4cY2bHsDfa")$retried = $emailit->emails()->retry('em_33VtK8mRq1xZp7LwN4cY2bHsDfa');{
"object": "email",
"id": "em_33Vu2LqPz8aKd4WnX6cR1tYbHgs",
"original_id": "em_33VtK8mRq1xZp7LwN4cY2bHsDfa",
"token": "33Vu2LqQ7mFt3XcV9bNp5KsRwEz",
"message_id": "<33Vu2LqQ7mFt3XcV9bNp5KsRwEz@acme.com>",
"from": "Acme <orders@acme.com>",
"to": "ada@example.com",
"subject": "Receipt for order 1042",
"status": "accepted",
"created_at": "2026-10-01T11:15:03.552918Z",
"message": "Email has been queued for retry"
}| Errore | Causa |
|---|---|
404 Email not found |
L’ID non esiste in questo workspace. |
422 Cannot retry email |
Lo stato non consente un nuovo tentativo, l’email ha più di 30 giorni, il suo contenuto è stato eliminato o il suo dominio di invio è stato eliminato. Il message indica quale caso. |
402 Insufficient credits |
Il workspace non può pagare il nuovo tentativo. |
403 Workspace not verified |
Il workspace è in modalità sandbox e il destinatario non è un membro del workspace. |
Inoltra un’email
L’inoltro invia a un nuovo destinatario un’email in uscita che hai già inviato. Le email ricevute (in entrata) non si possono inoltrare.
Per impostazione predefinita, l’inoltro è un semplice reinvio: il destinatario riceve oggetto, corpo e allegati originali come se l’email fosse stata inviata a lui. Imposta include_headers per inviare invece un inoltro classico, con un blocco «Forwarded message» (From, Date, Subject e To originali) e un commento facoltativo sopra. In questo caso l’oggetto inizia con Fwd:.
tostring | string[]obbligatorioto in un invio.include_headersbooleanpredefinito: falseFwd: nell’oggetto.commentstringinclude_headers è true. body è accettato come alias.htmlstringcomment con escape, quando include_headers è true.textstringcomment nella parte di testo, quando include_headers è true.fromstringsubjectstringFwd: seguito dall’oggetto originale con include_headers.Un inoltro è un nuovo invio, quindi segue le stesse regole di POST /emails: si applicano i crediti per destinatario, i limiti di frequenza di invio, i controlli sul dominio From e l’header Idempotency-Key. Il tracciamento segue le impostazioni del dominio di invio. Gli header personalizzati e i metadati dell’originale non vengono copiati, e gli allegati vengono riportati solo se il loro tipo di file è consentito.
Ogni workspace può fare 3 richieste di inoltro all’ora, contando insieme gli inoltri dal pannello e dall’API. Oltre il limite, l’API restituisce 429 con too_many_requests.
- Vai a Email APIEmails e apri l’email.
- Seleziona Forward.
- Inserisci il destinatario in To.
- Facoltativo: spunta Add forwarded headers and a comment e scrivi un Comment.
- Seleziona Forward. La nuova email compare nell’elenco con il proprio ID.
Chiama Inoltra un’email (POST /emails/{id}/forward).
curl https://api.emailit.com/v2/emails/em_33VtK8mRq1xZp7LwN4cY2bHsDfa/forward \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "support@acme.com",
"include_headers": true,
"comment": "Customer says this receipt never arrived. Can you check?"
}'const forwarded = await emailit.emails.forward('em_33VtK8mRq1xZp7LwN4cY2bHsDfa', {
to: 'support@acme.com',
include_headers: true,
comment: 'Customer says this receipt never arrived. Can you check?',
});forwarded = client.emails.forward("em_33VtK8mRq1xZp7LwN4cY2bHsDfa", {
"to": "support@acme.com",
"include_headers": True,
"comment": "Customer says this receipt never arrived. Can you check?",
})$forwarded = $emailit->emails()->forward('em_33VtK8mRq1xZp7LwN4cY2bHsDfa', [
'to' => 'support@acme.com',
'include_headers' => true,
'comment' => 'Customer says this receipt never arrived. Can you check?',
]);La risposta è la stessa di una risposta di invio, più original_id e il messaggio «Email has been queued for forwarding». L’inoltro non riesce con 422 Cannot forward email se l’originale è un’email in entrata o il suo contenuto è stato eliminato.