Guia prático
Verificar um único endereço
Verifique um endereço de e-mail no painel ou com a API, escolha entre os modos fast e full e use a verificação para barrar endereços ruins no cadastro.
Este guia mostra como conferir um endereço de e-mail, manualmente no painel ou pelo seu código com a API. Ele também mostra como usar a verificação em um formulário de inscrição para barrar erros de digitação e endereços descartáveis antes que cheguem à sua lista.
Antes de começar
- Cada verificação custa 5 créditos. Confira o seu saldo na barra lateral ou em WorkspaceBilling.
- Para a API, use uma chave de API com Full Access. As chaves só de envio não podem verificar endereços.
Modos fast e full
| Modo | Verificações | Use para |
|---|---|---|
fast (padrão) |
Sintaxe, registros MX, idade do domínio, endereços descartáveis, genéricos, de provedor gratuito e com aparência aleatória | Formulários de inscrição e qualquer situação em que uma pessoa esteja esperando. |
full |
Tudo o que o fast verifica, mais uma conexão com o servidor de e-mail do destinatário para verificar a caixa de e-mail: se aceita entregas, se está desativada, se está cheia e se o domínio é catch-all |
Limpar endereços antes de um envio importante, quando alguns segundos a mais não fazem diferença. |
Os dois modos custam o mesmo. O full demora mais porque conversa com o servidor de e-mail do destinatário, que pode ser lento ou se recusar a responder. Alguns grandes provedores bloqueiam essas verificações, então o full nem sempre consegue confirmar uma caixa de e-mail. Consulte Resultados da verificação para saber o que cada verificação significa.
Verificar um endereço
-
Abra Email Verification. Acesse Email VerificationEmails e selecione Verify Email.
-
Digite o endereço. Digite-o em Email e selecione Verify Email. O painel usa o modo
fast. -
Abra o resultado. O endereço aparece na lista com Status, Result, Risk, Score, a data em Created e os dias que faltam em Expiring. Selecione-o para ver cada verificação individual, como Valid Syntax, Disposable, Role Account e Has MX Records.
Para conferir muitos endereços de uma vez, verifique uma lista.
Chame Verificar um endereço com o endereço e, opcionalmente, o modo:
curl https://api.emailit.com/v2/email-verifications \
-X POST \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "email": "ada@example.com", "mode": "full" }'O resultado vem na resposta:
{
"id": "ev_6Hq2Lm9Tx4Pz",
"object": "email_verification",
"email": "ada@example.com",
"status": "completed",
"score": 100,
"risk": "low",
"result": "safe",
"mode": "full",
"checks": {
"valid_syntax": true,
"disposable": false,
"role_account": false,
"inbox_full": false,
"deliverable": true,
"disabled": false,
"free_email": false,
"gibberish": false,
"catch_all": false,
"smtp_connect": true,
"has_mx_records": true,
"domain_age": 10957
},
"address": {
"mailbox": "ada",
"domain": "example.com",
"suffix": null,
"root": "ada@example.com"
},
"did_you_mean": null,
"mx_records": [
{ "priority": 10, "exchange": "mx1.example.com" }
],
"created_at": "2026-10-01T10:24:11Z",
"updated_at": "2026-10-01T10:24:11Z"
}No modo fast, as verificações da caixa de e-mail (deliverable, disabled, inbox_full, catch_all e smtp_connect) são null porque não foram testadas.
| Status | Quando |
|---|---|
200 |
O endereço foi verificado. Isso inclui endereços malformados, que voltam com result: "invalid". |
400 |
email está ausente, ou mode não é fast nem full. |
402 |
O workspace tem menos de 5 créditos. |
Cada verificação bem-sucedida também dispara um evento email_verification.created. Consulte Tipos de evento de webhook.
Verificar endereços no cadastro
Conferir um endereço quando alguém o digita é a forma mais barata de manter uma lista limpa. Um erro de digitação barrado no cadastro nunca vira um bounce.
-
Chame a API a partir do seu servidor. Nunca coloque a sua chave de API em código do navegador. Envie o endereço a partir do handler de cadastro, no modo
fast. -
Defina um timeout e deixe passar em caso de falha. Se a verificação estiver lenta ou retornar um erro, deixe o cadastro seguir. Perder um cliente real custa mais do que um endereço ruim.
-
Aja conforme o resultado. Bloqueie o que está claramente errado, sugira correções para erros de digitação e deixe todo o resto passar.
export async function checkSignupEmail(email) {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 5000);
try {
const res = await fetch('https://api.emailit.com/v2/email-verifications', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.EMAILIT_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ email, mode: 'fast' }),
signal: controller.signal,
});
if (!res.ok) return { ok: true }; // fail open
const verification = await res.json();
if (verification.result === 'invalid') {
return {
ok: false,
message: verification.did_you_mean
? `Did you mean ${verification.did_you_mean}?`
: 'Please check your email address.',
};
}
if (verification.result === 'disposable') {
return { ok: false, message: 'Please use a permanent email address.' };
}
// Accept the address, but offer a correction if one looks likely.
return { ok: true, suggestion: verification.did_you_mean };
} catch {
return { ok: true }; // timeout or network error: fail open
} finally {
clearTimeout(timer);
}
}Algumas dicas:
- Use
did_you_mean. Para erros de digitação comuns no domínio, comoada@gmial.com, ele contém o endereço provável,ada@gmail.com. Mostre-o como uma sugestão que a pessoa pode aceitar. - Não bloqueie endereços genéricos de cara.
info@ousales@costumam ser a forma como pequenas empresas se cadastram. Sinalize-os em vez disso. - Verifique cada endereço uma vez. Cada chamada custa créditos, então verifique quando o formulário for enviado, não a cada tecla digitada, e guarde o resultado.