Verify · Para desenvolvedores
Como validar e-mail no formulário de cadastro com uma API
Checar se o campo tem um @ não impede o cadastro de um endereço que não existe. Veja como consultar uma API de validação no momento do cadastro, o que decidir em cada resultado e os cuidados para não travar o cliente.
Equipe Autentify7 min de leitura
Resposta rápida: Para validar o e-mail no formulário de cadastro, confira o formato no navegador e, no envio, chame do seu servidor uma API de validação de e-mail. Aceite os endereços entregáveis, peça correção nos não entregáveis, recuse os temporários e aceite quando a resposta for inconclusiva ou a API falhar, para nunca travar um cliente de verdade.
Por que conferir só o formato não basta
A checagem de formato (o type="email" do HTML ou uma expressão regular) responde uma pergunta só: o texto parece um e-mail? Ela deixa passar:
- Erro de digitação no domínio:
[email protected],[email protected]. - Caixa que não existe:
[email protected]. - E-mail temporário, criado para pegar o teste grátis ou o cupom.
O resultado aparece depois: confirmação de cadastro que nunca chega, cliente que não consegue recuperar a senha, base inflada e devolução nas campanhas.
O que a API responde
No Verify, a consulta de um endereço é uma chamada só:
curl https://gateway.autentify.com.br/v1/verify \
-H "Authorization: Bearer $AUTENTIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'
A resposta traz o estado do endereço, o motivo e as características conhecidas:
{
"id": "vr_5f2c9a81d04e7b36a1c8e2f4",
"email": "[email protected]",
"domain": "empresa.com.br",
"verified_at": "2026-10-03T14:02:11.482913Z",
"state": "deliverable",
"reason": "accepted_email",
"attributes": { "free": false, "role": false }
}
O que fazer com cada resultado
state |
O que significa | No cadastro |
|---|---|---|
deliverable |
A caixa existe | Aceite |
undeliverable |
A caixa ou o domínio não existem | Peça para conferir o endereço |
risky com disposable |
E-mail temporário | Peça outro endereço |
risky com accept_all |
O domínio aceita qualquer endereço | Aceite |
unknown |
Não deu para concluir agora | Aceite |
Dois detalhes importam:
- Domínio que aceita tudo não é motivo para recusar. É comum em empresas, e o endereço provavelmente é bom. Veja o que é um e-mail catch-all.
- Decida pelo
state. Motivos novos podem aparecer com o tempo; o seu código não deve quebrar com umreasonque ele não conhece.
Exemplo no servidor
Em Python, com um tempo limite e sem travar o cadastro em caso de falha:
import os
import requests
def conferir_email(email: str) -> str:
"""Devolve 'aceitar', 'corrigir' ou 'temporario'."""
try:
resposta = requests.post(
"https://gateway.autentify.com.br/v1/verify",
headers={"Authorization": f"Bearer {os.environ['AUTENTIFY_API_KEY']}"},
json={"email": email},
timeout=10,
)
except requests.RequestException:
return "aceitar" # falha de rede: não trave o cadastro
if resposta.status_code == 422:
return "corrigir" # não tem formato de e-mail
if resposta.status_code != 200:
return "aceitar" # falha temporária: confira depois
resultado = resposta.json()
if resultado["state"] == "undeliverable":
return "corrigir"
if resultado.get("attributes", {}).get("disposable"):
return "temporario"
return "aceitar"
Cuidados na implementação
A chave fica no servidor
Nunca coloque a chave da API no JavaScript da página. O navegador envia o formulário ao seu servidor, e é ele que consulta a API.
Valide no envio, não a cada tecla
Uma consulta por cadastro, quando a pessoa envia o formulário ou sai do campo. Consultar a cada letra digitada gasta créditos e não melhora nada.
Mensagens que ajudam
"E-mail inválido" faz a pessoa desistir. Prefira:
- "Não encontramos este endereço. Confira se digitou certo."
- "Não aceitamos e-mail temporário. Use o seu e-mail pessoal ou da empresa."
Guarde o resultado
Grave o estado e a data da verificação junto com o cadastro. Serve para auditoria, para reprocessar os que ficaram sem resposta e para medir quantos cadastros ruins o formulário passou a barrar.
Não substitui a confirmação por e-mail
A validação diz que a caixa existe. A mensagem de confirmação prova que ela é de quem se cadastrou. As duas se completam: a validação evita que a confirmação seja enviada a um endereço que não existe.
E a base que já existe?
O formulário cuida de quem chega. Para os contatos que já estão na base, a verificação é feita em lote, por arquivo ou pela API. Veja como validar uma lista de e-mails em massa.
Para testar agora
A documentação da API tem todas as rotas, os campos e exemplos em curl, Python e JavaScript. Crie uma conta no Verify para gerar a sua chave: ela já vem com créditos grátis, sem cartão, e você paga só o que usar. Os valores estão na página de preços.
Perguntas frequentes
Como validar e-mail no formulário de cadastro?
Além de conferir o formato no navegador, envie o endereço do seu servidor para uma API de validação de e-mail. Ela responde se a caixa existe, se o domínio recebe e-mail e se o endereço é temporário. Com a resposta, você aceita o cadastro, pede correção ou recusa.
Validar com expressão regular não basta?
Não. A expressão regular só confere o formato. Um endereço como [email protected] ou [email protected] tem formato correto e não funciona. Só a consulta ao servidor de e-mail mostra se a caixa existe.
Posso chamar a API direto do navegador?
Não deve. A chave da API ficaria exposta no código da página. Faça a chamada do seu servidor e devolva ao navegador só o resultado.
O que fazer se a API demorar ou falhar?
Aceite o cadastro. A validação é uma melhoria, e uma falha temporária não pode impedir um cliente de se cadastrar. Defina um tempo limite, grave que aquele endereço não foi verificado e confira depois.
Continue lendo
Como configurar SPF, DKIM e DMARC no seu domínio
O que são SPF, DKIM e DMARC, para que serve cada um e como configurar os três registros no DNS do seu domínio, com exemplos e os erros mais comuns.
Como reativar uma base de e-mails antiga sem queimar o domínio
Como reativar uma base de e-mails parada: quanto de uma lista antiga ainda funciona, por que verificar antes e como enviar em lotes com segurança.
Como saber se um e-mail existe: verificar sem enviar mensagem
Como saber e verificar se um e-mail existe antes de enviar: o que dá para conferir (sintaxe, domínio e caixa), o que não dá e como testar grátis.
