Guia prático
Novas tentativas e encaminhamento de e-mails
Reenvie como um novo e-mail um e-mail com bounce, com falha, suprimido ou retido, ou encaminhe um e-mail enviado para outro destinatário, pelo painel ou pela API.
A nova tentativa envia de novo um e-mail, com o mesmo conteúdo, depois que ele deu bounce, falhou, foi suprimido ou foi retido. O encaminhamento envia uma cópia de um e-mail que você já enviou para outra pessoa, por exemplo um colega do suporte ou um cliente que perdeu o original. Os dois criam um novo e-mail com o seu próprio ID e não alteram o original.
Antes de começar
- Na API, os dois endpoints funcionam com chaves Full Access e Sending Only.
- Os dois são cobrados como novos envios, então você precisa de créditos suficientes.
- Os dois precisam do conteúdo da mensagem original. O Emailit o exclui quando termina o seu período de retenção de dados para o conteúdo das mensagens:
| Pay as you go | Pro | Business | Custom | |
|---|---|---|---|---|
| Retenção do conteúdo das mensagens | 7 dias | 30 dias | 30 dias | Flexível |
Tentar enviar um e-mail de novo
É possível tentar enviar um e-mail de novo quando todas estas condições são verdadeiras:
| Requisito | Detalhes |
|---|---|
| Status | bounced, failed, suppressed ou held |
| Idade | Criado há menos de 30 dias |
| Conteúdo | O conteúdo da mensagem não foi excluído pela retenção de dados |
| Domínio de envio | O domínio de envio original ainda existe no workspace |
Uma nova tentativa cria um novo e-mail, com um novo ID em_ e um novo Message-ID. Ela reutiliza a mensagem bruta, o destinatário, os metadados e as configurações de rastreamento do original e passa pelo processo normal de entrega. Ela custa 1 crédito, ou 2 créditos se o original era um e-mail de campanha. Um workspace no modo sandbox só pode tentar de novo e-mails endereçados a membros do workspace.
Corrija a causa antes de tentar de novo, senão o novo e-mail termina com o mesmo status:
- Suppressed: primeiro remova o endereço das supressões.
- Retido por falta de créditos: recarregue os seus créditos.
- Retido porque o domínio foi pausado: resolva o problema de saúde de envio.
- Retido pela pontuação de spam: uma nova tentativa envia o mesmo conteúdo e provavelmente será retida de novo. Altere o conteúdo e envie um novo e-mail. Consulte Verificação de spam.
- Bounced: confira o motivo do bounce na página de detalhes do e-mail. Uma caixa de e-mail que não existe vai dar bounce de novo. Se o Emailit adicionou o endereço às suas supressões depois do bounce, remova-o primeiro.
- Acesse Email APIEmails e abra o e-mail.
- Selecione Retry no topo da página. O painel mostra essa opção em e-mails retidos e suprimidos; para e-mails com bounce ou com falha, use a API.
- Selecione Retry de novo na caixa de diálogo Retry Email para confirmar. O novo e-mail aparece na lista com o seu próprio ID.
Chame Tentar enviar um e-mail de novo (POST /emails/{id}/retry) com o ID do e-mail original. A requisição não tem corpo.
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"
}| Erro | Causa |
|---|---|
404 Email not found |
O ID não existe neste workspace. |
422 Cannot retry email |
O status não permite nova tentativa, o e-mail tem mais de 30 dias, o conteúdo dele foi excluído ou o domínio de envio dele foi excluído. A message indica qual é o caso. |
402 Insufficient credits |
O workspace não consegue pagar pela nova tentativa. |
403 Workspace not verified |
O workspace está no modo sandbox e o destinatário não é membro do workspace. |
Encaminhar um e-mail
O encaminhamento envia um e-mail de saída que você já enviou para um novo destinatário. E-mails recebidos (de entrada) não podem ser encaminhados.
Por padrão, o encaminhamento é um simples reenvio: o destinatário recebe o assunto, o corpo e os anexos originais como se o e-mail tivesse sido enviado para ele. Defina include_headers para enviar um encaminhamento clássico, com um bloco “Forwarded message” (From, Date, Subject e To originais) e um comentário opcional acima dele. O assunto passa então a começar com Fwd:.
tostring | string[]obrigatórioto em um envio.include_headersbooleanpadrão: falseFwd: no assunto.commentstringinclude_headers é true. body é aceito como alias.htmlstringcomment escapado na parte HTML, quando include_headers é true.textstringcomment na parte de texto, quando include_headers é true.fromstringsubjectstringFwd: mais o assunto original com include_headers.Um encaminhamento é um novo envio, então segue as mesmas regras de POST /emails: créditos por destinatário, limites de envio, as verificações do domínio do From e o cabeçalho Idempotency-Key se aplicam. O rastreamento segue as configurações do domínio de envio. Os cabeçalhos personalizados e os metadados do original não são copiados, e os anexos só são mantidos se o tipo de arquivo deles for permitido.
Cada workspace pode fazer 3 requisições de encaminhamento por hora, somando os encaminhamentos feitos pelo painel e pela API. Acima do limite, a API retorna 429 com too_many_requests.
- Acesse Email APIEmails e abra o e-mail.
- Selecione Forward.
- Digite o destinatário em To.
- Opcional: marque Add forwarded headers and a comment e escreva um comentário em Comment.
- Selecione Forward. O novo e-mail aparece na lista com o seu próprio ID.
Chame Encaminhar um e-mail (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?',
]);A resposta é igual à resposta de um envio, mais original_id e a mensagem “Email has been queued for forwarding”. O encaminhamento falha com 422 Cannot forward email se o original for um e-mail recebido ou se o conteúdo dele tiver sido excluído.