Ha ragione k.b, effettivamente ho fatto una prova e anche inserendo un indirizzo e-mail inesistente, mail() ritorna true... colpa mia! Un altra idea che potresti considerare, per tenere pulito il DB da registrazioni fasulle, è quella di creare uno script che periodicamente (per esempio, ogni 72 ore), cancella gli account registrati, ma non attivati da più di un intervallo di tempo (es. 48 ore).

So che è più complesso, ma potrebbe essere una possibilità