Guida pratica
Verifica un singolo indirizzo
Verifica un indirizzo email nel pannello o con l’API, scegli tra modalità rapida e completa e usa la verifica per bloccare gli indirizzi errati al momento dell’iscrizione.
Questa guida mostra come controllare un indirizzo email, a mano nel pannello oppure dal codice con l’API. Spiega anche come usare la verifica in un modulo di iscrizione per bloccare refusi e indirizzi usa e getta prima che arrivino nella lista.
Prima di iniziare
- Ogni verifica costa 5 crediti. Controlla il saldo nella barra laterale o in WorkspaceBilling.
- Per l’API, usa una chiave API con Full Access. Le chiavi di solo invio non possono verificare indirizzi.
Modalità rapida e completa
| Modalità | Controlli | Usala per |
|---|---|---|
fast (predefinita) |
Sintassi, record MX, età del dominio, indirizzi usa e getta, di ruolo, di provider gratuiti e dall’aspetto casuale | Moduli di iscrizione e tutto ciò per cui una persona sta aspettando. |
full |
Tutto ciò che fa fast, più una connessione al server di posta del destinatario per controllare la casella: consegnabile, disattivata, piena e catch-all |
Ripulire gli indirizzi prima di un invio importante, quando qualche secondo in più non conta. |
Le due modalità costano uguale. full richiede più tempo perché dialoga con il server di posta del destinatario, che può essere lento o rifiutarsi di rispondere. Alcuni grandi provider bloccano questi controlli, quindi full non può sempre confermare una casella. Per il significato di ogni controllo, vedi Esiti della verifica.
Verifica un indirizzo
-
Apri Email Verification. Vai a Email VerificationEmails e seleziona Verify Email.
-
Inserisci l’indirizzo. Scrivilo nel campo Email e seleziona Verify Email. Il pannello usa la modalità
fast. -
Apri l’esito. L’indirizzo compare nell’elenco con Status, Result, Risk, Score, la data Created e i giorni che mancano a Expiring. Selezionalo per vedere ogni singolo controllo, come Valid Syntax, Disposable, Role Account e Has MX Records.
Per controllare molti indirizzi in una volta, verifica una lista.
Chiama Verifica un indirizzo con l’indirizzo e, facoltativamente, la modalità:
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" }'L’esito arriva nella risposta:
{
"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"
}In modalità fast, i controlli sulla casella (deliverable, disabled, inbox_full, catch_all e smtp_connect) sono null perché non vengono eseguiti.
| Stato | Quando |
|---|---|
200 |
L’indirizzo è stato verificato. Sono inclusi gli indirizzi formati male, che tornano con result: "invalid". |
400 |
Manca email, oppure mode non è fast o full. |
402 |
Il workspace ha meno di 5 crediti. |
Ogni verifica riuscita genera anche un evento email_verification.created. Vedi Tipi di evento.
Verifica gli indirizzi all’iscrizione
Controllare un indirizzo quando qualcuno lo digita è il modo più economico per mantenere pulita una lista. Un refuso intercettato all’iscrizione non diventa mai un bounce.
-
Chiama l’API dal server. Non inserire mai la chiave API nel codice del browser. Invia l’indirizzo dal gestore dell’iscrizione, in modalità
fast. -
Imposta un timeout e lascia passare in caso di errore. Se la verifica è lenta o restituisce un errore, lascia completare l’iscrizione. Perdere un cliente reale costa più di un indirizzo sbagliato.
-
Agisci in base all’esito. Blocca ciò che è chiaramente sbagliato, suggerisci correzioni per i refusi e lascia passare tutto il resto.
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);
}
}Alcuni consigli:
- Usa
did_you_mean. Per i refusi più comuni nei domini, comeada@gmial.com, contiene l’indirizzo probabile,ada@gmail.com. Mostralo come suggerimento che la persona può accettare. - Non bloccare a priori gli indirizzi di ruolo.
info@osales@sono spesso il modo in cui le piccole aziende si iscrivono. Segnalali invece di bloccarli. - Verifica ogni indirizzo una sola volta. Ogni chiamata costa crediti, quindi verifica quando il modulo viene inviato, non a ogni tasto premuto, e memorizza l’esito.