Tmpkey

TMPKEY / Tutoriais

2026: O que fazer quando os e-mails de teste não aparecem no Mailpit 1.33.1?

Para localizar um e-mail ausente, confira primeiro o destino SMTP ou HTTP realmente usado pela aplicação; depois verifique se o Mailpit recebeu e interpretou a mensagem e se a consulta da API corresponde a ela. O guia organiza essa investigação por evidências e mostra o que a captura local comprova — e o que não comprova.

Dado confirmado: o registro oficial do Mailpit 1.33.1 lista alterações relacionadas ao parsing de cabeçalhos, ao tratamento de Bcc e à rejeição de mensagens que não podem ser interpretadas. Por isso, se os e-mails de teste não aparecem no Mailpit 1.33.1, confira primeiro o destino SMTP ou HTTP e o resultado real do envio; depois verifique a mensagem na interface e na API. Só então investigue filtros e identificadores usados pelo teste. Uma chamada de envio executada não prova que o Mailpit recebeu a mensagem, e uma captura local não comprova entrega em uma caixa externa.

Este guia é para você se desenvolve ou testa o fluxo de cadastro, recuperação de senha ou envio de códigos do próprio produto.
Também ajuda QA e pessoas desenvolvedoras independentes a separar falha de envio, problema de parsing e consulta incompatível.

Última atualização: 10 de novembro de 2026. Informações sobre versão, configuração e comportamento foram conferidas na documentação e no registro oficial da versão 1.33.1.

Diagnóstico do resultado ausente

“Envio concluído” pode descrever resultados diferentes. O teste pode ter verificado que uma função foi chamada, que a aplicação entregou uma mensagem ao servidor SMTP, ou que o Mailpit armazenou a mensagem. Essas evidências não são intercambiáveis.

Um cenário comum: um teste automatizado verifica que o método de envio foi acionado e termina como aprovado. Porém, o processo da aplicação aponta para outro host, ou a consulta posterior busca o destinatário errado. O teste passou segundo a própria asserção, mas isso não demonstra que a mensagem entrou na instância que você está observando.

Separe as etapas antes de alterar código:

Evidência observada O que ela confirma O que ainda falta verificar
A função de envio foi chamada O fluxo da aplicação chegou ao método monitorado Se a conexão e a submissão ao servidor ocorreram
A aplicação recebeu uma resposta do serviço SMTP Houve uma resposta do destino configurado Se esse destino é a instância aberta na interface
A mensagem aparece na interface do Mailpit A instância observada recebeu e armazenou a mensagem Se o conteúdo foi interpretado como esperado e se a API consegue localizá-la
Uma busca da API retorna uma mensagem A consulta encontrou um resultado sob os critérios usados Se esse resultado corresponde ao envio atual e ao ambiente correto

O Mailpit mostra envio bem-sucedido na aplicação, mas não há mensagem na caixa: por onde começar? Compare o host, a porta e o ambiente registrados pela aplicação com os da instância aberta no navegador. Depois, confira a resposta de envio e o destinatário final. Não use apenas o log “função chamada” como prova de recebimento.

Destino SMTP e ambiente em execução

A primeira investigação é descobrir para onde a aplicação realmente envia. Em desenvolvimento local, staging e contêineres, nomes de host semelhantes podem apontar para destinos diferentes. localhost dentro de um contêiner normalmente identifica o próprio contêiner, não automaticamente o computador host nem outro serviço da rede.

O Mailpit documenta a configuração de SMTP separadamente da configuração da interface HTTP. Consulte a documentação oficial de configuração SMTP e a documentação da interface e do servidor HTTP. Os valores padrão documentados são a porta 1025 para SMTP e a porta 8025 para a interface web; configurações locais podem substituí-los. Confirme os valores da sua instância antes de usar esses números como referência.

O que conferir Aplicação no mesmo host Aplicação em contêiner
Host SMTP O endereço configurado precisa apontar para a instância em execução localhost pode apontar para o próprio contêiner; confirme o nome de serviço e a rede
Porta SMTP Compare a configuração com a porta efetiva do Mailpit Confira também o mapeamento de portas e a rede entre serviços
Interface web Abra o endereço HTTP da instância observada A porta publicada para o host pode ser diferente da porta usada entre contêineres
URL da API Confira a base usada pelo código de teste Verifique se a API consultada pertence ao mesmo ambiente do envio

Faça a verificação no processo que realmente envia a mensagem, não apenas no arquivo de configuração que você espera que ele leia. Variáveis de ambiente, configurações específicas de execução e arquivos de teste podem substituir os valores locais. Registre, sem expor credenciais, o host, a porta e o ambiente usados no momento do envio.

O teste envia por SMTP ou por outro caminho? Não presuma que toda integração usa SMTP. A documentação de envio de mensagens do Mailpit descreve os caminhos de envio disponíveis. Identifique o método efetivamente adotado pela sua aplicação e confira o destino correspondente. Se o envio for feito por HTTP, validar apenas o SMTP não localiza a causa.

Guarde a resposta de envio e o erro completo da aplicação, se houver. Não invente uma interpretação para um código de resposta que você não confirmou na documentação do método usado. O dado decisivo é se a submissão chegou ao serviço correto e qual resposta esse serviço devolveu.

Parsing e mudanças da versão

Na versão 1.33.1, o registro oficial menciona alterações em parsing de cabeçalhos, tratamento de destinatários Bcc e rejeição de mensagens que não podem ser interpretadas. Isso torna a versão relevante quando o defeito aparece apenas com uma mensagem específica. Não significa, porém, que essas mudanças expliquem todo e-mail ausente.

O caminho seguro é salvar uma amostra mínima que reproduza o problema e a resposta observada pelo remetente. Compare uma mensagem simples com outra que contenha o nome de exibição não ASCII ou Bcc que participa do caso. Depois, confira a versão realmente em execução — a versão do arquivo de configuração ou da imagem planejada não prova qual processo está ativo.

Caso reproduzível Evidência para guardar Próxima verificação
Mensagem simples também não aparece Configuração de destino e resposta do envio Host, porta, rede e instância observada
Falha apenas com nome de exibição não ASCII Cabeçalhos originais e resultado do envio Comportamento de parsing documentado para a versão em uso
Falha apenas quando há Bcc Cabeçalhos e lista de destinatários efetivamente submetida Tratamento de Bcc indicado no registro da versão
Serviço rejeita uma mensagem que não consegue interpretar Amostra sanitizada e resposta recebida Se a rejeição corresponde ao comportamento documentado

Como saber se o problema é parsing no Mailpit 1.33.1? Procure evidência específica: o envio alcança a instância correta, mas uma amostra reproduzível com determinados cabeçalhos não é aceita ou não aparece como esperado. A versão 1.33.1 documenta a rejeição de mensagens impossíveis de interpretar; portanto, não trate a ausência como descarte silencioso sem verificar a resposta do serviço e a amostra. A documentação de integração ajuda a construir testes controlados, mas não substitui a reprodução com a mensagem real da sua aplicação.

Preserve uma cópia sanitizada da mensagem e da resposta antes de mudar a versão ou remover cabeçalhos. Sem esse material, você pode corrigir o sintoma e perder a evidência que distingue uma rejeição de um envio para o destino errado.

Ao compartilhar uma amostra, remova dados pessoais, tokens, códigos válidos e conteúdo de usuários. Para organizar essa higiene de dados, consulte o aviso de dados do Tmpkey. Isso é especialmente importante em ambientes de staging que reproduzem mensagens parecidas com as de produção.

Consulta da interface e da API

Se a mensagem está visível na interface, a etapa de envio até aquela instância funcionou. Se o teste ainda afirma que ela não existe, investigue a consulta: destinatário, remetente, termos de busca, intervalo considerado pela lógica do teste e identificador usado para abrir ou recuperar a mensagem.

A interface e a API também podem estar apontando para instâncias diferentes. Confira as URLs configuradas por cada componente. Em seguida, pesquise na interface pelo endereço exato do destinatário e pelo assunto exclusivo desta execução. Evite depender de uma busca genérica que possa corresponder a mensagens antigas.

A API do Mailpit não encontra uma mensagem recém-enviada: o que verificar? Primeiro confirme na interface se a mensagem está armazenada. Se estiver, compare os filtros do código com os cabeçalhos e o destinatário que aparecem na mensagem. Depois, confira se o teste está usando o endpoint e o formato de identificador documentados para a API disponível na sua versão. A documentação oficial da API é a referência para parâmetros e formas de consulta; não presuma que qualquer valor retornado pode ser usado como identificador em outro endpoint.

Quando o teste busca “a mensagem mais recente”, há risco de associar o resultado a outro envio concorrente ou a uma execução anterior. Uma prática mais robusta é incluir um identificador único da execução em um campo previsível, como o assunto ou um cabeçalho próprio, e usar esse valor para localizar a mensagem. Isso reduz ambiguidade sem depender de um tempo de espera fixo. Se não puder alterar a mensagem, isole a execução de teste e registre os critérios exatos da busca.

Resultado observado Interpretação provável Ação
Não aparece na interface nem na API Destino errado, falha de submissão ou rejeição Volte à configuração e à resposta do envio
Aparece na interface, mas não na API URL, filtro, endpoint ou identificação incompatível Compare a instância e os critérios com a documentação da API
API retorna uma mensagem, mas o teste falha Asserção sobre conteúdo, destinatário ou associação incorreta Confira o corpo e os cabeçalhos da mensagem retornada
Surge uma mensagem antiga ou de outra execução Busca ampla ou execuções concorrentes Torne a busca mais específica e associe cada envio à execução

Reexecução e limite de aceitação

Depois de corrigir o destino, o parsing ou a consulta, repita o teste que falhou e uma mensagem simples de controle. Não encerre a análise apenas porque um novo envio apareceu: confira se a mensagem pertence à execução atual, se o destinatário corresponde ao esperado e se o conteúdo necessário foi interpretado corretamente.

Use esta lista antes de marcar a integração como aprovada:

  • [ ] Confirme a versão do processo Mailpit realmente ativo e compare-a com o registro oficial da versão.
  • [ ] Registre host, porta e método de envio usados pela aplicação no ambiente sob teste.
  • [ ] Verifique a resposta do envio e os logs correspondentes; diferencie chamada de função de submissão aceita.
  • [ ] Procure na interface a mensagem com destinatário e identificador próprios desta execução.
  • [ ] Se a interface exibir a mensagem, valide a mesma instância, o endpoint e os filtros usados pela API.
  • [ ] Execute novamente o caso simples e o caso com o cabeçalho ou destinatário que reproduzia o defeito.
  • [ ] Remova dados pessoais, segredos e códigos válidos dos registros compartilhados.
  • [ ] Documente o alcance do teste: captura local, parsing e consulta; não entrega em provedor externo.

A conclusão precisa corresponder à evidência. Se a mensagem aparece no Mailpit, você demonstrou que a aplicação conseguiu enviar até aquele coletor local e que ele armazenou a mensagem. Você ainda não demonstrou que um provedor externo aceitou o e-mail, que ele chegou à caixa de entrada ou que não foi classificado como spam.

Para testar a entrega externa, faça uma verificação separada em uma caixa controlada e autorizada. Avalie também SPF, DKIM, DMARC, rejeições do provedor e classificação da mensagem. O Mailpit é útil para inspecionar o percurso local; ele não substitui um teste de entrega real.

Endereço de teste e escolha do coletor

Para validar o produto que você mantém, escolha o tipo de endereço de acordo com o que precisa provar. Uma caixa local como o Mailpit favorece inspeção reproduzível de mensagens e integração com testes. Uma caixa temporária separada pode ajudar a receber mensagens em um endereço que não seja o seu endereço principal. Um alias ou endereço de teste dedicado pode ser melhor quando você precisa manter o histórico ou responder mensagens.

O custo oculto de usar o endereço pessoal em testes não é apenas o volume de mensagens. Você também pode misturar dados de produção e staging, expor informações pessoais em logs e dificultar a limpeza de contas criadas para QA. Por outro lado, uma caixa temporária não é a escolha certa se o fluxo exige recuperação de conta no futuro, histórico duradouro ou resposta por e-mail.

Se você quiser avaliar um endereço temporário como destino de um teste controlado, consulte o Tmpkey e confirme diretamente na página quais recursos estão disponíveis para o seu caso. Não presuma retenção, encaminhamento, personalização, necessidade de cadastro ou compatibilidade com qualquer fluxo sem verificar essas condições. O uso deve continuar restrito ao teste do seu próprio produto ou a um ambiente autorizado.

Para contas bancárias, pagamentos, serviços públicos e qualquer conta importante que precise de recuperação posterior, use um endereço duradouro sob seu controle. Para uma rodada pontual de cadastro, um código de verificação ou uma notificação de staging, um coletor local ou um endereço temporário pode reduzir a exposição do endereço principal. A decisão técnica é a mesma do diagnóstico: escolha o destino que fornece a evidência de que você precisa, sem atribuir a ele uma prova que não pode oferecer.

Volte à caixa de entrada e confira seu endereço

Quando tiver uma conexão disponível, continue no dispositivo e no navegador originais. Se precisar receber e-mails por longo prazo, escolha um alias de encaminhamento.