Em resumo
Catorze linhas, várias das quais dizem "não se aplica" para uma ferramenta que vive no seu próprio host. Cada célula do Mailpit reflete o que dizia sua documentação, seu README e sua página de opções de tempo de execução em 2 de setembro de 2026; cada célula do GrabMail é lida das constantes que o serviço aplica.
| Recurso | GrabMail | Mailpit |
|---|---|---|
| Plano grátis | Sim: Tudo: domínios públicos, seu próprio domínio, a API e o servidor MCP. Sem conta, sem cartão. | Sim: Tudo: com licença MIT, sem planos, sem contas. Você paga com o host onde roda. |
| Sem conta, sem chave de API | Sim: Nada para criar. Um GET com o endereço na query string lê a caixa de entrada. | Sim: Nenhuma por padrão; autenticação HTTP Basic opcional na interface e na API. |
| API REST | Sim: Três endpoints sobre HTTPS, OpenAPI 3.1, uma leitura por segundo por endereço. | Sim: Uma API REST com um documento Swagger, servida pela sua própria instância; um websocket para notificações, fora da API oficial. |
| Escolha seu próprio endereço | Sim: Qualquer nome em 8 domínios públicos, entre eles grabmail.io e mixozia.com, grátis. | Sim: Qualquer destinatário para o qual sua aplicação envie é aceito; não há endereços para alocar. |
| Seu próprio domínio | Sim: Grátis e sem limite: um registro MX em smtp.grabmail.io, sem etapa de cadastro. | Em parte: Não se aplica: ele aceita e-mail para qualquer domínio vindo da sua aplicação, e não foi feito para receber e-mail da internet. |
| Retenção de mensagens | 5 dias, fixo. Não é um plano, não é uma configuração. | Você decide: as 500 mais recentes por padrão, ou uma idade como --max-age 14d; o banco de dados padrão é um arquivo temporário apagado ao sair. |
| Anexos | Sim: Até 5 MB por mensagem, para baixar pela caixa de entrada e pela API. | Sim: Sim; mensagens acima de 50 MB são rejeitadas por padrão. |
| Sem anúncios, sem rastreamento | Sim: Sem anúncios, sem análise, sem script de terceiros. | Sim: Nenhum; é software que você roda. |
| Caixa privada | Não: Pública: qualquer um que conheça o endereço pode lê-la. Cada caixa tem um alias para distribuir em vez do endereço. | Sim: Tão privado quanto seu host; nada sai dele a menos que você o retransmita. |
| Servidor MCP para agentes de IA | Sim: Servidor MCP grátis em https://grabmail.io/mcp: crie uma caixa, espere até 25 segundos por uma mensagem, e leia-a. | Não: Nenhum: sem servidor MCP, sem llms.txt. |
| Envio de e-mail | Não: Nenhum, por design. Só recepção. | Em parte: Ele captura em vez de enviar, mas pode retransmitir ou encaminhar uma mensagem capturada por um servidor SMTP externo, e tem uma API HTTP de envio. |
| Webhooks ou push | Não: Nenhum. Consulte uma vez por segundo, ou deixe a espera do MCP manter a chamada aberta. | Sim: Um webhook opcional nas mensagens recebidas, e um feed por websocket. |
| SDKs oficiais | Não: Nenhum. Em vez disso, um documento OpenAPI e três endpoints. | Não: Nenhum; um documento Swagger e documentação interativa na sua instância. |
| Apps e extensões | Em parte: Uma extensão do Chrome, carregada manualmente; ainda não está na loja. | Em parte: Um binário estático para Windows, Linux e Mac, imagens Docker, Homebrew, e um servidor POP3 opcional para clientes de e-mail. |
Revisado em 2 de setembro de 2026. Os padrões do Mailpit são citados das suas opções de tempo de execução: as 500 mensagens mais recentes são mantidas, um banco de dados temporário é apagado ao sair, um limite de 50 MB por mensagem. O status do MailHog é inferido das datas do seu repositório, que são citadas aqui; o projeto não traz nenhum aviso de descontinuação.
O que o Mailpit faz bem
O Mailpit é a ferramenta para rodar ao lado da sua aplicação enquanto você a constrói. Quatro coisas que ele faz e que o GrabMail não faz:
- Ele captura tudo o que você envia, localmente. Aponte seu app para a porta 1025 e cada mensagem cai na caixa web na 8025 — redefinições de senha, faturas, tudo — sem que uma sequer chegue a um endereço real. O GrabMail nunca vê seu e-mail de saída.
- Ele testa a mensagem, não só a entrega. Verificações de compatibilidade HTML, um verificador de links, pontuação com SpamAssassin, capturas de tela, marcação com tags. O GrabMail entrega a mensagem e para por aí.
- Caos. Desde a versão 1.20 ele consegue injetar falhas SMTP em estágios escolhidos com probabilidades escolhidas, para provar que sua aplicação aguenta quando o servidor de e-mail falha. Nenhum serviço hospedado oferece isso.
- Ele é seu. Com licença MIT, um único binário, de duzentas a trezentas mensagens por segundo, sem fornecedor, sem conta, sem precisar de internet. O GrabMail é o servidor de outra pessoa, e tudo nele é público.
Onde o GrabMail é diferente
O GrabMail faz a única coisa que um capturador SMTP local não consegue: existir na internet, com endereços para os quais servidores de outras pessoas podem entregar.
- E-mail de entrada real. Um teste se cadastra em um serviço de terceiros e esse serviço envia um código — para o GitHub, para a Stripe, para o que quer que você esteja integrando — o endereço precisa ser real.
run-42@grabmail.ioé real, tem um registro MX, e seu e-mail pode ser lido com um GET sem chave. - Nada para rodar, nada para expor. Fazer o Mailpit receber da internet significa um host público, um registro MX e uma regra de firewall, e a documentação dele não o posiciona para isso. O GrabMail já está lá; um runner de CI só precisa de HTTPS de saída.
- Seu próprio domínio como catch-all, hospedado. Um registro MX em smtp.grabmail.io e todo endereço no domínio recebe de qualquer lugar, mantido por 5 dias, sem nenhum daemon seu envolvido.
- Um servidor MCP para agentes. Um agente que precisa se cadastrar sozinho em algum lugar não pode usar um capturador SMTP local de jeito nenhum. O servidor do GrabMail em https://grabmail.io/mcp dá a ele uma caixa e um
wait_for_messagebloqueante de até 25 segundos, sem chave nenhuma.
Preço, lado a lado
Não há nada para precificar no Mailpit: é software livre, e seu custo é o host onde você o roda. O único plano pago do GrabMail compra acesso a um conjunto de domínios mantidos fora das listas de bloqueio de e-mail descartável; tudo na tabela acima continua grátis.
| Plano | GrabMail | Mailpit |
|---|---|---|
| Grátis | Domínios públicos, seu próprio domínio, API, MCP. Sem conta, sem teto. | Tudo, com licença MIT: captura SMTP, caixa web, API, POP3, caos, verificações. |
| Mais barato pago | Premium, $24 por mês: acesso por API ao conjunto de domínios fora das listas de bloqueio, pago em cripto. | Nenhum. |
| Acima disso | Pro a $78 e Scale a $148 por mês: mais mensagens e chaves sobre o mesmo conjunto. | Nenhum. |
| Com que você paga | Exposição: qualquer caixa pode ser lida por quem souber o endereço. | Um host, uma porta, e o fato de não conseguir receber da internet. |
Publicado em 2 de setembro de 2026. A página de preços do GrabMail tem a tabela completa.
Para desenvolvedores: lendo uma caixa de entrada
As duas APIs leem e-mails diferentes, então aqui está a que lê o e-mail de entrada do mundo externo. Isto lê uma caixa do GrabMail sem cabeçalho, sem chave e sem conta:
$ curl -sG https://grabmail.io/api/v1/mailbox --data-urlencode "address=anything@grabmail.io" | jq '{count, alias}'O equivalente no Mailpit é GET http://localhost:8025/api/v1/messages na sua própria instância, listando o que sua aplicação enviou a ela — a chamada certa para confirmar que seu app produziu a mensagem certa. Ler o que um terceiro enviou a um usuário de teste é tarefa do GrabMail; a referência são três endpoints, e o guia do GitHub Actions mostra os dois tipos de teste em um único workflow.
Na CI os dois convivem lado a lado: o Mailpit como um contêiner de serviço na 1025 para o e-mail da própria aplicação, endereços do GrabMail para os cadastros que a suíte faz contra serviços reais. Nenhum dos dois precisa de um secret.
Para agentes de IA
O Mailpit não publica servidor MCP nem llms.txt, e um capturador SMTP local não é algo que um agente se cadastrando em um site possa usar. O servidor do GrabMail em https://grabmail.io/mcp dá a um agente uma caixa sem chave: create_inbox, um wait_for_message bloqueante de até 25 segundos, read_message.
E-mail para agentes de IA percorre o loop de quatro chamadas e as barreiras de proteção; o guia de clientes tem a configuração para Claude, Cursor e outros cinco.
Mudando do Mailpit ou do MailHog
Do MailHog, mude para o Mailpit — esse é o substituto mantido para a mesma função. De qualquer um dos dois para o GrabMail, só para os testes que recebem:
- Substitua o MailHog pelo Mailpit para captura. Mesma ideia, mesmas portas, um projeto mantido:
docker run -p 8025:8025 -p 1025:1025 axllent/mailpit. Nada nisso envolve o GrabMail. - Encontre os testes que falam com o mundo externo. Um teste que se registra em um serviço de terceiros real e espera pelo e-mail dele não pode ser atendido por um capturador local. Dê a ele
run-{id}@grabmail.io, ou um endereço em um domínio que você aponte parasmtp.grabmail.io. - Leia com um GET.
/api/v1/mailbox?address=…a cada segundo com um prazo; o guia do Playwright tem o loop. Sem token, sem contêiner de serviço. - Mantenha o Mailpit para todo o resto. Templates, links, pontuações de spam, injeção de falhas: essa é a função dele, e o GrabMail não consegue fazer nada disso.
Qual escolher, e para quê
A divisão honesta é por direção:
Escolha o GrabMail quando
- um teste ou um agente precisa receber e-mail de um serviço que você não controla;
- você precisa de um endereço real com registro MX, e nada para hospedar ou expor;
- um agente precisa de uma caixa que possa abrir e na qual possa esperar, sem conta.
Escolha o Mailpit quando
- você quer ver e verificar tudo o que sua aplicação envia, sem que saia da sua máquina;
- você quer testes de caos, pontuação de spam e verificações HTML nos seus próprios templates;
- nada pode sair da sua rede, e você prefere software a um serviço.
Quando ficar com o Mailpit
Três situações em que o GrabMail é a ferramenta errada:
- Seus testes verificam o que você envia. O GrabMail não consegue ver de jeito nenhum o e-mail de saída da sua aplicação. Esse é o propósito inteiro do Mailpit.
- Seu e-mail não pode sair do prédio. Um capturador local mantém cada mensagem no seu host; toda caixa do GrabMail é pública na internet.
- Você testa falhas. Modo caos, retransmissão para um servidor real, regras de encaminhamento: recursos de uma ferramenta que você roda, sem equivalente hospedado aqui.
Perguntas
O GrabMail é uma alternativa ao Mailpit ou ao MailHog?
Só para testes que recebem e-mail do mundo externo, para o que nem o Mailpit nem o MailHog foram feitos. Para capturar e inspecionar o e-mail de saída da sua própria aplicação, o Mailpit é a ferramenta, e o GrabMail não é uma alternativa a ele.
O MailHog ainda é mantido?
Seu repositório não está arquivado e não traz nenhum aviso de descontinuação, mas em 2 de setembro de 2026 seu último lançamento era a v1.0.1 de agosto de 2020, seu último commit era de agosto de 2022, e ele tinha mais de duzentas issues abertas. O Mailpit é o projeto mantido para essa mesma função.
O Mailpit consegue receber e-mail da internet?
Ele é um servidor SMTP para o qual você aponta sua aplicação, não um serviço com registro MX; a documentação dele não o posiciona para e-mail da internet, e fazer isso significaria expor seu host. O GrabMail existe exatamente para esse caso.
Por quanto tempo o Mailpit mantém as mensagens?
Pelo tempo que você definir: as 500 mais recentes por padrão, uma idade como --max-age 14d se você configurar uma, e nada além disso depois de sair, a menos que você configure um arquivo de banco de dados. O GrabMail mantém cada mensagem por 5 dias.
Posso usar os dois em um mesmo pipeline?
Esse é o arranjo mais comum: o Mailpit como contêiner de serviço para o e-mail da própria aplicação, endereços do GrabMail para os cadastros que a suíte faz contra serviços reais. O guia do GitHub Actions mostra a metade que recebe.


