Os estados de uma mensagem
O que cada estado quer dizer, o que o causou, e o que fazer a seguir.
Uma mensagem passa por estados, e nem todos são um problema. Esta página é o que cada um quer dizer e o que se faz com ele.
A sequência normal
queued → accepted → delivered
Em fila (queued). Aceitámos o pedido, assinámos a mensagem e pusemo-la na
fila. Não saiu ainda.
Aceite (accepted). O relay recebeu-a e assumiu a responsabilidade de a
entregar. É o estado que a API devolve com o 202.
Entregue (delivered). O servidor do destinatário aceitou-a. É o melhor
sinal que existe, mas note-se o que não diz: não diz que a pessoa a viu, nem
que ela não está na caixa de spam. Diz que o servidor a aceitou.
Os estados que exigem alguma coisa de ti
Adiado (deferred). O destino disse "agora não, tenta mais tarde". É um
erro temporário, 4xx em SMTP. Acontece por caixa cheia, por limite de taxa do
lado deles, ou por o servidor estar ocupado. Não faças nada: tentamos outra
vez, com espaçamento crescente, durante horas. A maioria dos adiamentos acaba em
entrega.
Devolvido (bounced). O destino recusou em definitivo, com um 5xx. Na
maior parte dos casos o endereço não existe. O endereço entra automaticamente na
lista de supressões desta conta e não volta a ser contactado. O que tens a fazer
é do teu lado: marca o contacto como inválido, para não continuares a tentar
com ele noutro sistema.
Reclamado (complained). A pessoa carregou em "isto é spam". Chega-nos pelo
canal de feedback do fornecedor, e o endereço é suprimido para toda a
plataforma, não só para esta conta. É o evento mais caro que existe: uma taxa de
queixas acima de 0,1% faz a entrega cair para toda a gente que partilha o IP.
Vale sempre a pena perceber o que foi enviado.
Suprimido (suppressed). Nem sequer tentámos: o endereço já estava na lista
de supressões quando pediste o envio. Não é uma falha, é o sistema a poupar-te
uma devolução.
Falhou (failed). Desistimos ao fim de várias tentativas, ou aconteceu
alguma coisa do nosso lado. Vale a pena olhar para o código SMTP na cronologia
da mensagem.
O que fazer com cada um
| Estado | Repetir? | O que fazer |
|---|---|---|
queued, accepted |
Não | Esperar. |
delivered |
Não | Nada. |
deferred |
Não | Nada, nós tentamos. |
bounced |
Não | Marcar o contacto como inválido. |
complained |
Nunca | Perceber o que foi enviado e a quem. |
suppressed |
Não | Limpar esse endereço da tua lista. |
failed |
Talvez | Ler o código SMTP primeiro. |
A regra curta: nunca repitas um envio para um endereço devolvido. Cada tentativa para um endereço que não existe conta contra a reputação do IP, e essa reputação é partilhada com todos os outros clientes.
Onde ver isto
No painel, em Mensagens, cada linha traz o estado e clicar nela abre a cronologia completa: quando foi aceite, por que servidor saiu, e o que o destino respondeu, com o texto do erro tal como veio.
Pela API, GET /v1/messages/{id} devolve o mesmo, e GET /v1/events devolve o
fluxo todo. Se preferires não ir buscar, regista um endpoint em
Webhooks.

Aceite não é entregue
Vale a pena repetir. A resposta 202 da API significa aceite. Se a tua
aplicação mostra "email enviado" nesse momento, está a prometer uma coisa que
ainda não aconteceu e que às vezes não acontece.