Diagnóstico de entrega

E-mail de teste não chega: encontre evidências antes de reenviar

“Não recebi” apenas descreve o resultado, mas não indica em que camada está a falha. Um diagnóstico eficaz começa pela validade do endereço e avança pela tarefa de envio, resposta do provedor, polling da caixa de entrada e renderização do corpo.

Congele o estado atual; não clique em enviar repetidamente

Reenviar várias vezes cria diversas tarefas e IDs de mensagem, dificultando saber qual e-mail corresponde a cada ação. Primeiro, registre o endereço de recebimento atual, o horário do disparo, o ambiente de teste, a versão do template e o ID da tarefa nos logs da aplicação.

Usar uma referência de horário única também é importante. O navegador, a fila e o painel do provedor podem usar fusos diferentes; converta tudo para UTC e preserve os valores originais.

Primeira camada: confirme se o endereço está completo e válido

Copie o endereço novamente na página de recebimento; não o digite com base no histórico. Verifique os caracteres antes e depois de @, espaços ocultos e se o script de teste ainda está usando um endereço substituído na rodada anterior.

E-mails temporários têm validade. Se o endereço expirou ou foi trocado, o token antigo não prova que a nova mensagem deveria aparecer na página atual. É mais confiável criar um novo endereço e enviar uma mensagem mínima.

Segunda camada: diferencie o disparo do negócio da execução do e-mail

Uma mensagem de sucesso na página não significa que a tarefa de e-mail foi executada. Verifique se a aplicação criou a tarefa corretamente, se o consumidor está online, se as tentativas se esgotaram e se a variável do destinatário foi sobrescrita antes da renderização do template.

Se a tarefa permanecer na fila, o sistema de recebimento não terá como observá-la. Nesse caso, corrija o consumidor ou a configuração, em vez de atualizar repetidamente a página de recebimento.

Terceira camada: verifique a resposta do provedor ou do SMTP

Encontre o ID da mensagem, a resposta de aceitação, o código de rejeição ou o evento de devolução. “Aceito” normalmente significa apenas que o próximo salto recebeu a solicitação; não quer dizer que ela chegou à caixa de entrada final.

Para erros temporários 4xx, aguarde conforme a estratégia de backoff; para erros permanentes 5xx, corrija primeiro o domínio, o endereço do destinatário, a autenticação ou a política de conteúdo. Preserve a resposta original, em vez de registrar apenas “falha no envio”.

Quarta camada: polling, lista e corpo são problemas diferentes

Aguarde um ciclo de polling e atualize manualmente; observe também as solicitações de rede do navegador. Se o assunto e o remetente aparecerem na lista, o e-mail chegou. Se os detalhes estiverem vazios, verifique os dados do corpo, não o DNS novamente.

Os detalhes do e-mail podem oferecer html_body ou text_body. Um template HTML isolado, imagens remotas que não carregam ou scripts removidos não significam que o e-mail não chegou. Compare o fallback em texto simples com os campos originais.

Quinta camada: crie um grupo de controle com um e-mail mínimo

Crie um novo endereço temporário e envie um assunto fixo, um identificador de evento único e uma frase em texto simples, sem imagens, anexos ou variáveis complexas. Se o e-mail mínimo chegar, adicione HTML, recursos da marca e dados do negócio gradualmente.

O grupo de controle diferencia rapidamente problemas básicos de entrega de problemas relacionados à política de conteúdo. Altere apenas uma variável por vez; caso contrário, mesmo que o envio volte a funcionar, você não saberá a causa real.

Registre uma conclusão reutilizável na próxima vez

A conclusão deve incluir pelo menos a camada da falha, as evidências diretas, a ação corretiva, a amostra de reteste e as limitações ainda não explicadas. Não deixe apenas “funcionou depois de tentar de novo”: isso não evita que o problema se repita.

Se você estiver investigando uma falha agora, use a bancada de diagnóstico de entrega para gerar uma ordem de verificação prioritária com base em quatro fatos.