MoeMail

Verificador de e-mail descartável

Digite um domínio e descubra se ele pertence a um provedor de e-mail descartável. Grátis, sem cadastro — e sim, marcamos os nossos próprios domínios também.

Você pode colar um endereço completo (nome@exemplo.com) — só o domínio é usado, e nada é armazenado.

20 domínios comuns, já verificados

Estes vereditos são gerados a partir dos mesmos dados que o verificador usa, então nunca podem ficar fora de sincronia. A descrição explica o que é cada serviço; o veredito reflete o que as blocklists dizem sobre ele.

DomínioVereditoO que é
gmail.comNão listado como descartávelServiço de e-mail da Google para pessoas físicas.
outlook.comNão listado como descartávelServiço de e-mail da Microsoft para pessoas físicas.
yahoo.comNão listado como descartávelYahoo Mail.
icloud.comNão listado como descartávelServiço de e-mail da Apple, vinculado a uma conta Apple.
proton.meNão listado como descartávelProvedor focado em privacidade, com planos grátis e pagos.
qq.comNão listado como descartávelTencent QQ Mail, um dos provedores mais usados na China.
163.comNão listado como descartávelNetEase Mail, muito usado na China.
gmx.comNão listado como descartávelGMX, um provedor gratuito que existe há muito tempo.
zoho.comNão listado como descartávelZoho Mail, voltado a empresas e domínios próprios.
simplelogin.ioNão listado como descartávelServiço de alias que encaminha para sua caixa de verdade.
duck.comNão listado como descartávelDuckDuckGo Email Protection, um serviço de alias com encaminhamento.
mailinator.comListado como descartávelCaixas descartáveis públicas que qualquer pessoa abre sem cadastro.
yopmail.comListado como descartávelProvedor de caixas descartáveis.
guerrillamail.comListado como descartávelProvedor de caixas descartáveis, um dos mais antigos ainda no ar.
sharklasers.comListado como descartávelUm dos domínios alternativos do Guerrilla Mail.
10minutemail.comListado como descartávelCaixa descartável que expira depois de uma janela curta.
temp-mail.orgListado como descartávelProvedor de caixas descartáveis com muitos domínios regionais.
1secmail.comListado como descartávelProvedor de caixas descartáveis que também oferece uma API pública.
trashmail.comListado como descartávelEndereços descartáveis por encaminhamento, com prazo de validade.
moemail.appEste é um dos nossosEste serviço. Um provedor de e-mail descartável — veja a seção abaixo.

Por que existem dois níveis em vez de sim ou não

A maioria dos verificadores gratuitos responde com um true ou false seco. Isso esconde justamente o que você precisa saber: o quanto a resposta é confiável. Usamos duas listas com critérios editoriais diferentes e dizemos qual delas casou.

Listado

O domínio está em uma blocklist curada de forma conservadora — as entradas são revisadas e falsos positivos são raros. Se você vai bloquear ou sinalizar um endereço automaticamente, é neste nível que deve agir.

Possivelmente

O domínio está apenas na lista ampla, que privilegia cobertura em vez de precisão. Útil como um indício entre vários. Bloquear só por este nível vai, de vez em quando, recusar um usuário real.

Não listado

Nenhuma das listas o conhece. Repare no que isso significa e no que não significa: nenhuma blocklist é completa, e um domínio descartável recém-criado passa por esta verificação por um bom tempo.

Um acerto em blocklist é evidência, não prova. Para qualquer coisa com consequência, combine com sinais que você controla — registros MX, idade do domínio, comportamento da conta ou um e-mail de confirmação.

Serviços de alias não são a mesma coisa que e-mail descartável

Serviços como SimpleLogin, DuckDuckGo Email Protection e o próprio plus-addressing do Gmail dão a você um endereço que encaminha para uma caixa que você mantém. O endereço é descartável; a caixa por trás dele não é. A pessoa continua lendo suas mensagens, continua respondendo e continua conseguindo recuperar a conta depois.

As blocklists discordam sobre como tratá-los, então você pode ver um domínio de alias sinalizado. Vale saber disso antes de bloquear um: recusar usuários de alias afasta pessoas preocupadas com privacidade que, no mais, são clientes perfeitamente reais. Uma caixa descartável é abandonada em minutos; um alias pode sobreviver à conta para a qual foi criado.

Os dados se contradizem de formas que vale ver. addy.io está listado, enquanto anonaddy.com — o domínio antigo da mesma empresa — não. relay.firefox.com está listado mesmo que o Firefox Relay na prática entregue endereços em mozmail.com, que não está listado de jeito nenhum. Essas duas sinalizações caem no nível "possivelmente" em vez de "listado", que é exatamente para isso que esse nível existe.

Listamos nossos próprios domínios como descartáveis

A MoeMail é um serviço de e-mail descartável. Nossos domínios fazem exatamente o que as blocklists descrevem, então a resposta honesta é que eles pertencem a essas listas — e este verificador diz isso.

Poderíamos ter nos excluído silenciosamente. Não fizemos, por um motivo simples: qualquer pessoa testa o próprio domínio em um verificador em cinco segundos, e uma ferramenta pega protegendo o próprio dono não vale nada. Se você tem um site e quer manter cadastros descartáveis de fora, deve poder usar esta ferramenta para bloquear a gente também.

Como os sites realmente detectam e-mail descartável

Uma consulta a blocklist como esta é só a primeira camada. Sistemas de verdade empilham várias verificações: comparar o domínio com listas públicas e comerciais, resolver registros MX para ver se o domínio sequer aceita mensagens, olhar quão recentemente o domínio foi registrado e observar o que a conta faz depois do cadastro.

É também por isso que um endereço às vezes é recusado mesmo sem estar em nenhuma lista — e por que um endereço descartável às vezes passa sem problema. Se quiser a versão longa, escrevemos sobre isso separadamente.

Por que sites bloqueiam e-mail descartável

De onde vêm os dados

O verificador consulta duas blocklists abertas mantidas pela comunidade. A segunda é um agregador, então os repositórios que a alimentam também são creditados abaixo — cada um com link de volta para sua fonte. Reconstruímos nossa cópia a partir do upstream em vez de editar entradas à mão, então o que você recebe aqui corresponde ao que os mantenedores publicam.

Esta não é uma relação exaustiva dos dados. O agregador também raspa sites de e-mail descartável, que não têm repositório nem licença a citar. A fonte dele é pública, então você pode auditar o conjunto completo por conta própria: generator.py

Baixar a lista

A lista unificada e sem duplicatas está disponível como arquivo de texto puro — um domínio por linha, sem chave, sem limite de taxa. Use no seu próprio projeto.

disposable-domains.txt

Nenhuma das duas listas afirma estar atualizada ou completa, e os mantenedores dizem isso com clareza. Domínios trocam de dono, serviços encerram e novos aparecem todos os dias. Trate o que você recebe aqui como um retrato mantido pela comunidade, não como uma autoridade em tempo real.

API grátis de verificação de e-mail descartável

A mesma consulta que esta página executa, como endpoint JSON. Sem chave de API, sem cadastro, sem cota para recarregar — chame de um formulário de cadastro, de um Worker ou de um script de shell. Ela lê as mesmas duas listas documentadas acima, então a resposta que retorna é a resposta que você vê aqui.

Experimente
curl "https://moemail.app/api/tools/v1/disposable-email/check?domain=mailinator.com"

Endpoints

GEThttps://moemail.app/api/tools/v1/disposable-email/check?domain=…

Verifica um domínio, ou um endereço de e-mail completo — a parte local é descartada. Retorna um veredito para o domínio normalizado.

GEThttps://moemail.app/api/tools/v1/disposable-email/dataset

Qual retrato das listas está respondendo: tamanho de cada nível, timestamp da build e o SHA-256 de cada arquivo upstream no momento do download. Chame uma vez na inicialização se quiser registrar quais dados produziram uma decisão.

Campos da resposta

domainstring
O domínio normalizado a que o veredito se aplica: em minúsculas, sem a parte local e sem pontos finais. Compare com este valor, não com o que você enviou.
disposableboolean
True quando o domínio aparece em qualquer uma das listas, incluindo as nossas. É a resposta grossa — leia o aviso abaixo antes de condicionar um cadastro a ela.
verdict"high" | "medium" | "none" | "ours"
Qual nível casou. high é a lista curada de forma conservadora. medium é somente a lista ampla do agregador. none não está em nenhuma. ours é um dos domínios de recebimento da própria MoeMail, que são descartáveis e que nenhuma lista de terceiros conhece.

Não bloqueie só com base em disposable

medium é cerca de 66.000 dos 75.000 domínios que conhecemos, e vem de um agregador amplo que ninguém cura à mão. Bloquear todos eles vai recusar usuários reais. Se um falso positivo custa um cliente, condicione a verdict === "high" e trate medium como motivo para pedir um segundo fator, não como motivo para recusar. disposable existe para que uma substituição direta de uma API booleana continue funcionando — não porque um booleano seja a fronteira de decisão correta.

Erros

Todo erro traz um code legível por máquina ao lado do error legível por humanos. Ramifique pelo code: o texto pode ser reescrito a qualquer momento, os códigos não mudam sem uma nova versão da API.

400missing_domainNenhum parâmetro domain foi informado, ou ele estava vazio.
400invalid_domainNão é um domínio plausível. Também é retornado quando domain foi repetido e para domínios Unicode — codifique-os como punycode (xn--…) antes.
400input_too_longO parâmetro passou de 320 caracteres, que é o máximo que um endereço real pode ter.

Limites, cache e estabilidade

17 requisições a cada 10 segundos por endereço IP, aplicadas na borda da Cloudflare e não dentro desta API. Não existe chave que aumente isso nem plano pago — se precisar de mais, baixe a lista completa e consulte os domínios localmente.

Se você exceder, a Cloudflare bloqueia a requisição na borda, antes de chegar a esta API: 429, Retry-After: 10 e um corpo curto em text/plain — não o formato JSON acima. Duas consequências que vale prever. O bloqueio não carrega Access-Control-Allow-Origin, então um navegador vê um erro de rede opaco em vez de um 429 legível; e como a requisição nunca chega aqui, não há campo code para ramificar. Trate uma requisição que falha logo depois de uma rajada como limitação de taxa.

As respostas são cacheáveis por um dia (s-maxage=86400) e carregam um ETag derivado dos hashes dos arquivos upstream, então uma requisição condicional não custa nada enquanto os dados não mudam. As listas são compiladas em tempo de build, então uma resposta só pode mudar no próximo deploy. Uma consequência que vale saber: uma resposta em cache nunca chega ao limitador de taxa, então o limite modela o tráfego em vez de garanti-lo.

Toda resposta envia Access-Control-Allow-Origin: *, então um navegador pode chamar direto do seu formulário de cadastro, sem proxy no meio.

v1 é uma promessa sobre formato, não sobre dados: campos não serão removidos nem renomeados, e códigos de status não mudarão de significado, sem um novo segmento de versão no caminho. Os vereditos em si mudam sempre que as listas upstream mudam.

Exemplos de código

Cada um decide pelo verdict em vez do booleano, porque essa é a decisão que você realmente quer tomar.

cURL
curl "https://moemail.app/api/tools/v1/disposable-email/check?domain=mailinator.com"
# {"domain":"mailinator.com","disposable":true,"verdict":"high"}

curl "https://moemail.app/api/tools/v1/disposable-email/dataset"
# {"high":8695,"medium":66913,"total":75608,"builtAt":"…","status":"upstream",…}
Node.js
const ENDPOINT = "https://moemail.app/api/tools/v1/disposable-email/check"

async function verdictFor(domain) {
  const res = await fetch(`${ENDPOINT}?domain=${encodeURIComponent(domain)}`)
  const body = await res.json()
  if (!res.ok) throw new Error(body.code)   // branch on `code`, never on `error`
  return body.verdict
}

// "medium" means "only in the broad aggregator list" — a signal, not a verdict.
// Gate signups on the tier you are willing to defend to a real user.
const verdict = await verdictFor("mailinator.com")
const reject = verdict === "high" || verdict === "ours"
Python
import requests

ENDPOINT = "https://moemail.app/api/tools/v1/disposable-email/check"

def verdict_for(domain: str) -> str:
    r = requests.get(ENDPOINT, params={"domain": domain}, timeout=5)
    r.raise_for_status()
    return r.json()["verdict"]

# Note: use requests (or set an explicit User-Agent). Cloudflare's managed bot
# rules block the default "Python-urllib/3.x" agent with a 403 before the
# request ever reaches this API.

if verdict_for("mailinator.com") in ("high", "ours"):
    ...  # reject the signup
PHP
<?php
function verdict_for(string $domain): string {
    $url = 'https://moemail.app/api/tools/v1/disposable-email/check?domain=' . urlencode($domain);
    $ctx = stream_context_create(['http' => [
        'timeout' => 5,
        // Send a real User-Agent: identify your app, and stay clear of any
        // bot rule that keys on a default library agent.
        'header'  => "User-Agent: my-app/1.0\r\n",
    ]]);
    $body = json_decode(file_get_contents($url, false, $ctx), true);
    return $body['verdict'];
}

if (in_array(verdict_for('mailinator.com'), ['high', 'ours'], true)) {
    // reject the signup
}
Cloudflare Worker
export default {
  async fetch(request) {
    const email = new URL(request.url).searchParams.get("email") ?? ""
    const domain = email.split("@").pop()

    // Responses are cacheable (s-maxage=86400), so the Cache API turns a
    // repeated lookup into zero subrequests.
    const res = await fetch(
      `https://moemail.app/api/tools/v1/disposable-email/check?domain=${encodeURIComponent(domain)}`,
      { cf: { cacheTtl: 86400, cacheEverything: true } },
    )
    const { verdict } = await res.json()

    return Response.json({ allow: verdict !== "high" && verdict !== "ours" })
  },
}

As listas são compiladas de fontes upstream públicas, algumas sob licenças que exigem que seus avisos viajem junto com os dados. Toda resposta carrega um cabeçalho Link: rel="license" apontando para os créditos acima, e os avisos completos vão no cabeçalho do arquivo de dados para download.

Como isso se compara a outras APIs gratuitas de consulta

Existem algumas consultas gratuitas de domínio descartável que não pedem chave. Aqui está onde esta se diferencia — e onde ela faz menos.

RecursoMoeMailKickbox OpenDeBounce Freevalidator.pizza
Sem chave de API nem cadastroSimSimSimSim
Chamável de um navegador (CORS)SimNãoSimSim
Detalhe de confiançaDois níveis, mais os próprios domíniosUm booleanoUm booleano, enviado como stringUm booleano
Cita as fontes, com checksumsSimNãoNãoNão
Lista completa para downloadSimNãoNãoNão
Versão dos dados é consultávelSimNãoNãoNão
Consulta de MX / idade do domínio ao vivoNãoNãoNãoSim
Limite de taxa declarado17 por 10s, documentadoNão declaradoNão declaradox-ratelimit-limit: 1

Cada célula foi verificada chamando o endpoint em 2026-08-22, com requisições no mesmo formato do exemplo em cURL acima — então você pode repetir os testes. Nada aqui vem de página de marketing de fornecedor: um resultado de busca afirmava que o endpoint da Kickbox suporta CORS, e não suporta.

Todas as quatro são consultas a blocklist. Elas respondem "este domínio é conhecido como descartável" e nada além disso; nenhuma delas, esta inclusive, consegue dizer se uma caixa realmente existe. O validator.pizza vai mais longe, resolvendo registros MX e idade do domínio ao vivo — se é disso que você precisa, use ele.

Serviços pagos de validação — ZeroBounce, a própria API de verificação da Kickbox, Bouncer — fazem consideravelmente mais do que qualquer um destes, incluindo existência da caixa e detecção de catch-all, e cobram por verificação. Eles não estão na tabela porque medi-los por critérios escolhidos por uma blocklist gratuita seria uma comparação viciada.

Perguntas

Não. O Gmail é o serviço de e-mail da Google para pessoas físicas e não aparece em blocklists de descartáveis. Endereços nele pertencem a contas que permanecem, então não são endereços descartáveis. O plus-addressing do Gmail (nome+tag@gmail.com) cria uma variante com cara de descartável, mas a mensagem continua caindo na mesma caixa permanente.

Não. A consulta acontece contra uma lista compilada no site em tempo de build, e o domínio que você digita não é gravado em nenhum log ou banco de dados nosso.

Sim. Cole o endereço completo e só a parte depois do @ é usada. A parte local é descartada na hora e nunca sai da requisição.

As blocklists ficam atrás da realidade. Novos domínios descartáveis surgem sem parar e levam tempo para serem reportados e revisados. Um resultado "não listado" significa que nenhuma lista o tem ainda — não que o domínio seja confiável.

Bloqueie no nível "listado" se quiser acabar com cadastros descartáveis. Tenha mais cuidado com "possivelmente" — essa lista troca precisão por cobertura, e bloquear só por ela vai, de vez em quando, afastar um cliente real. Serviços de alias com encaminhamento merecem atenção especial.

Reconstruímos a partir do upstream periodicamente. Como ela vai junto com o site em vez de ser buscada a cada requisição, a lista que você está consultando é a do nosso deploy mais recente.

Sim — um endpoint JSON grátis, sem chave e sem cadastro: GET /api/tools/v1/disposable-email/check?domain=exemplo.com. É limitado a 17 requisições a cada 10 segundos por endereço IP e envia Access-Control-Allow-Origin: *, então você pode chamar direto do navegador. A referência completa, com exemplos em Node, Python, PHP e Cloudflare Workers, está na seção de API acima.

Continua grátis, porque nos custa quase nada: as listas são compiladas em tempo de build e as respostas ficam em cache na borda por um dia, então a maioria das chamadas nem chega a um servidor. Não há chave para comprar nem nível superior. Se precisar de mais vazão do que o limite permite, baixe a lista completa e consulte os domínios localmente — é para isso que ela é publicada, e uma consulta local é mais rápida do que qualquer chamada de rede poderia ser.

Você mesmo precisa de um endereço descartável?

A MoeMail cria caixas temporárias que expiram no seu prazo — de 10 minutos a 3 dias — e apaga as mensagens junto.