Guide

Come bloccare le e-mail usa e getta alla registrazione

Tre modi per intercettare gli indirizzi temporanei nel modulo di registrazione, da una lista statica a un'API, con codice, e gli errori che bloccano utenti reali.

7 min di lettura · Aggiornato il 2026-10-31 · Attrelix

Cosa conta come e-mail usa e getta

Un indirizzo usa e getta (o temporaneo) proviene da un servizio che fornisce caselle senza registrazione, di solito per minuti o ore. Mailinator, Guerrilla Mail, 10 Minute Mail e migliaia di domini meno noti funzionano così. Sono utili a chi vuole evitare le newsletter, e altrettanto utili a chi crea molti account.

Tre categorie vicine vengono spesso confuse con loro e richiedono un trattamento diverso:

  • I relay per la privacy come privaterelay.appleid.com di Accedi con Apple, duck.com di DuckDuckGo o Firefox Relay inoltrano a una casella reale e duratura. Bloccarli penalizza clienti attenti alla privacy. Trattali al massimo come un piccolo segnale di rischio.
  • I provider gratuiti come Gmail, Outlook.com o Yahoo non sono usa e getta. Il loro schema di abuso è diverso: alias di una stessa casella, trattati nella nostra guida sugli alias Gmail.
  • I domini che non ricevono affatto posta — errori come gmial.com o domini inventati. Vale la pena individuarli, perché lì nessuno può confermare un account.

Opzione 1: una lista statica nel codice

Su GitHub vengono mantenute liste open source di domini usa e getta con decine di migliaia di voci. La cosa più semplice è caricarne una in un set e controllare il dominio alla registrazione:

# Python
DISPOSABLE = set(open("disposable_domains.txt").read().split())

def is_disposable(email: str) -> bool:
    domain = email.rsplit("@", 1)[-1].strip().lower().rstrip(".")
    parts = domain.split(".")
    # anche i sottodomini: mail.tempdomain.com -> tempdomain.com
    return any(".".join(parts[i:]) in DISPOSABLE for i in range(len(parts) - 1))

Non costa nulla e non aggiunge latenza. Gli svantaggi:

  • Invecchia. Nuovi domini usa e getta compaiono di continuo, e molti servizi cambiano dominio proprio per aggirare le liste. Una lista copiata sei mesi fa non ha i più recenti, che sono esattamente quelli usati dagli abusatori.
  • Le liste non concordano. Liste diverse includono domini diversi, e alcune contengono errori. Unirne diverse dà più copertura ma più manutenzione.
  • Serve un job di aggiornamento e un deploy (o un ricaricamento) a ogni modifica.

Opzione 2: controllare il server di posta (MX)

Una query DNS sui record MX del dominio ti dice se può ricevere posta. Individua errori di battitura e domini inventati che nessuna lista contiene:

# Python, con dnspython
import dns.resolver

def can_receive_mail(domain: str) -> bool:
    try:
        return len(dns.resolver.resolve(domain, "MX", lifetime=2)) > 0
    except dns.resolver.NXDOMAIN:
        return False
    except Exception:
        return True  # un problema DNS non è colpa dell'utente: lasciar passare

Metti in cache il risultato per dominio, usa un timeout breve e non rifiutare mai una registrazione perché il tuo resolver DNS ha avuto un momento storto. Nota che il controllo MX non individua i servizi usa e getta: ricevono posta perfettamente, è il loro mestiere.

Opzione 3: un'API che fa entrambe le cose e resta aggiornata

Un'API toglie dal tuo codice la manutenzione della lista e le query MX. Attrelix unisce diverse liste pubbliche, le aggiorna ogni giorno, registra quando ogni dominio è stato visto per la prima volta, controlla il server di posta e normalizza gli alias Gmail nella stessa chiamata — e valuta anche rete e dispositivo, così ottieni una decisione per registrazione invece di un semplice verdetto sull'e-mail. Puoi provare la ricerca dei domini gratis con la verifica delle e-mail usa e getta.

curl https://attrelix.com/v1/check \
  -H "Authorization: Bearer $ATTRELIX_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"email":"someone@mailinator.com","ip":"203.0.113.9"}'

La risposta include email.disposable, email.relay, email.mx e l'indirizzo normalizzato, insieme alla decisione complessiva e ai suoi motivi.

Errori che bloccano utenti reali

  • Bloccare i relay. Il relay privato di Apple è usato da molti utenti iPhone che accedono con Apple. Bloccarlo significa bloccare loro.
  • Bloccare per errori DNS. Un timeout non dimostra che un dominio sia falso.
  • Liste troppo ampie. Alcune liste della community includono piccoli provider legittimi o domini aziendali. Se un cliente si lamenta, consenti il dominio invece di discutere.
  • Un messaggio di errore senza via d'uscita. “E-mail non valida” confonde una persona reale che ha scritto un indirizzo reale. Spiega che le caselle temporanee non sono accettate e chiedi un altro indirizzo.

Cosa non individua un controllo sugli usa e getta

Bloccare i domini usa e getta alza un po' il costo dell'abuso: l'abusatore passa a Gmail. Da lì in poi l'abuso si presenta come molti account dietro una casella o un dispositivo. È lì che entra in gioco il rilevamento degli account multipli.

In sintesi

  • Distingui domini usa e getta, relay per la privacy, provider gratuiti e domini morti.
  • Una lista statica è un buon inizio ma invecchia; aggiornala o usa un'API.
  • Usa i controlli MX per i domini morti e lascia passare in caso di problemi DNS.
  • Aspettati che gli abusatori passino agli alias Gmail e normalizza gli indirizzi.

Altre guide