Se è necessario verificare se un’e-mail è reale, attiva o sicura, le regole di validazione integrate in Laravel potrebbero non essere sufficienti.
Oggi vi mostreremo come eseguire la validazione delle e-mail in Laravel passo dopo passo, dall’uso del metodo di validazione alla creazione di regole di validazione personalizzate. Ma se siete alla ricerca di un metodo più semplice, che non controlli solo il formato, troverete anche un’alternativa migliore che impedisce alle e-mail non valide, false o rischiose di essere inserite nella vostra lista.
Come convalidare le email in Laravel?

Laravel offre regole di convalida delle e-mail integrate e la possibilità di creare regole di convalida personalizzate per soddisfare esigenze specifiche. Vi guideremo attraverso l’impostazione della convalida delle e-mail in Laravel, la gestione degli errori di convalida e l’implementazione della convalida DNS e RFC.
#1 Convalida delle email in Laravel con il metodo validate
Il metodo validate di Laravel, disponibile nella classe Illuminate\Http\Request, semplifica la validazione delle richieste HTTP in arrivo. L’esempio seguente mostra le regole di base per la validazione delle e-mail all’interno di un metodo del controllore.

Cosa fanno queste regole:
- required – Il campo non può essere vuoto.
- email:rfc,dns – Controlla se l’email segue gli standard RFC e verifica il dominio utilizzando i record DNS.
Se la validazione fallisce, Laravel reindirizza automaticamente gli utenti e visualizza i messaggi di errore nella sessione.
#2 Usare la convalida delle richieste dei moduli per un codice più pulito
Una classe di richiesta del form aiuta a mantenere la logica di validazione separata dal controllore. Eseguire questo comando:

Quindi, aggiornare la nuova classe all’interno di app/Http/Requests/:

Ora, aggiornare il controllore per utilizzarlo:

Questo approccio rende il codice più pulito e riutilizzabile.
#3 Personalizzazione dei messaggi di errore di convalida
Laravel ha messaggi di errore predefiniti, ma è possibile personalizzarli in resources/lang/en/validation.php:

O all’interno della classe di richiesta del modulo:

#4 Creare regole di convalida delle e-mail personalizzate
Se si ha bisogno di qualcosa di più avanzato, si può creare una regola di convalida personalizzata:

Aggiornare app/Rules/ValidEmail.php:

Applicarlo all’interno di un controllore:

Ciò consente una gestione personalizzata degli errori e una validazione avanzata.
#5 Gestione degli errori di convalida
Se la convalida fallisce, Laravel restituisce automaticamente degli errori. Per mostrare i messaggi in Blade:

Per le richieste API, Laravel invia una risposta 422 con errori:

#6 Convalida avanzata delle e-mail: Record DNS e MX
Per convalidare il dominio di un’e-mail, utilizzare la convalida DNS:

- rfc – Assicura che l’e-mail segua la RFC 5322.
- dns – Controlla se il dominio ha record MX (cioè se può ricevere e-mail).
Per la convalida DNS personalizzata, creare una regola:

Aggiornare app/Rules/DnsValidator.php:

Applicarlo all’interno di un controllore:

#7 Convalida dell’email nelle richieste API JSON
Per le richieste API, restituire risposte JSON invece di reindirizzare:

Laravel restituisce automaticamente:

Per gestire la convalida manualmente:

Perché la validazione delle email con Laravel non è l’ideale?
La verifica delle e-mail in Laravel ha i suoi limiti. Controlla solo se un’email segue il formato corretto, non verifica se l’email è reale, attiva o sicura da usare. Ecco perché affidarsi esclusivamente alle regole di validazione integrate in Laravel potrebbe non essere la scelta migliore.
Controlla solo il formato dell’indirizzo
Il metodo validate fornito da Laravel assicura che un’email abbia un aspetto corretto, ma non conferma l’esistenza dell’indirizzo. Le regole di validazione si concentrano sulla struttura, non sulla deliverability. Ciò significa che email non valide, errori di battitura o persino indirizzi falsi possono passare.
Non copre gli indirizzi “catch-all” o le trappole per lo spam.
Il metodo di convalida di Laravel non rileva gli indirizzi e-mail “catch-all”, che accettano tutti i messaggi in arrivo, validi o meno. Inoltre, non è in grado di filtrare le trappole antispam, che i provider di posta elettronica utilizzano per catturare i mittenti che utilizzano liste di email obsolete o acquistate. Senza questi controlli, la vostra lista di e-mail potrebbe riempirsi di indirizzi a rischio.
Richiede conoscenze di codifica per essere implementato
L’impostazione della validazione delle e-mail in Laravel richiede di lavorare con un file PHP, di utilizzare la struttura dell’app namespace PHP e di scrivere regole di validazione personalizzate. Se non si ha dimestichezza con la sintassi di Laravel, l’applicazione delle regole di validazione potrebbe risultare difficile. Anche i messaggi di errore personalizzati devono essere configurati manualmente utilizzando il metodo di validazione.
Non può essere automatizzato
Laravel non fornisce un’automazione integrata per la convalida delle e-mail al di là dell’invio dei moduli. È necessario integrare API esterne o scrivere regole di validazione personalizzate per convalidare le e-mail in modo dinamico. Anche con un sistema di messaggi di errore personalizzato, la gestione manuale dei fallimenti di validazione può rallentare lo sviluppo.
L’alternativa migliore alla convalida delle email con Laravel
Le regole di convalida delle e-mail di Laravel aiutano a controllare il formato di base, ma non sono sufficienti per mantenere una lista di e-mail pulita e affidabile. Per verificare se un’e-mail è valida, è bene utilizzare uno strumento che garantisca che le e-mail raggiungano utenti reali senza il rischio di rimbalzi o trappole per lo spam.
Bouncer è un’ottima soluzione.

Come Bouncer verifica le e-mail:
Potete caricare il vostro elenco di indirizzi e-mail e lasciare che Bouncer faccia il resto:
- Controllo della sintassi e del formato – Assicura che l’e-mail segua la struttura corretta (ad esempio, name@example.com).
- Controllo del dominio e del record MX – Verifica se il dominio esiste e se i server di posta sono configurati per ricevere le e-mail.
- Convalida SMTP – Bouncer si connette al server di posta del destinatario (senza inviare un’e-mail) per verificare se la casella di posta esiste e se i messaggi possono essere ricevuti.
- Rilevamento di catch-all e spam trap – Identifica i domini a rischio che accettano tutte le e-mail (anche quelle non valide) o intrappolano i mittenti di spam.
- Controllo della tossicità – Contrassegna le e-mail potenzialmente dannose, come gli indirizzi usa e getta, temporanei o noti come fraudolenti.
Bouncer: cosa non copre la validazione delle email di Laravel
Bouncer offre ciò che le regole di validazione integrate di Laravel non offrono: una verifica reale che va oltre il semplice controllo del formato.
Bouncer conferma se un’e-mail è valida
Le applicazioni Laravel si basano su una validazione basata sulla sintassi. Il metodo validate fornito da Laravel controlla solo se un’email segue la struttura corretta. Non controlla se esiste una casella di posta o se l’email è raggiungibile. Bouncer, invece, verifica gli indirizzi e-mail validi collegandosi ai server di posta, assicurando che ogni indirizzo sia veramente attivo.
Cattura le e-mail non valide, dannose e tossiche.
Gli aggiornamenti delle versioni di Laravel hanno migliorato la convalida delle e-mail, ma non sono ancora in grado di rilevare le trappole dello spam, gli indirizzi fraudolenti o i domini “catch-all”. La funzione Bouncer Shield di Bouncer blocca istantaneamente le e-mail non valide e dannose, proteggendo la vostra lista da contatti rischiosi che potrebbero danneggiare la reputazione del vostro mittente.
Verifica automatizzata senza codifica
Scrivere una regola di validazione personalizzata in un file PHP significa configurare manualmente la logica, gestire i fallimenti della validazione e definire un messaggio di errore personalizzato. Bouncer elimina questo lavoro extra grazie a una piattaforma e a un’API facili da usare, rendendo semplice la verifica delle e-mail in massa, senza bisogno di codifica manuale.
Controlli che vanno oltre il formato con approfondimenti sulla deliverability
Le regole di validazione di Laravel possono segnalare la mancanza dei simboli “@”, ma non offrono informazioni sulla deliverability delle e-mail. Bouncer fornisce un Deliverability Kit che verifica il posizionamento nella casella di posta, controlla l’autenticazione delle e-mail e monitora le blacklist per garantire che i messaggi raggiungano gli utenti reali.
Verifica di massa e in tempo reale per una maggiore precisione
Le applicazioni Laravel elaborano un’email alla volta utilizzando i metodi di validazione all’interno dei controllori. Bouncer, tuttavia, supporta la verifica in blocco, consentendo di pulire migliaia di indirizzi e-mail in un’unica richiesta. La sua API in tempo reale assicura che le nuove e-mail siano verificate istantaneamente, prevenendo le iscrizioni non valide e riducendo i tassi di rimbalzo.
👉 Scoprite come convalidare gli indirizzi e-mail passo dopo passo, senza bisogno di codici.
Perché scegliere Bouncer rispetto alla validazione di Laravel?
- Il metodo di validazione di Laravel assicura che un’email sembri valida. Bouncer conferma se funziona davvero.
- Laravel richiede regole di validazione personalizzate per i controlli avanzati. Bouncer lo fa automaticamente.
- Laravel non blocca le trappole per lo spam, i messaggi di cattura o le e-mail tossiche. Lo fa Bouncer.
- Laravel richiede conoscenze di codifica per implementare la validazione. Bouncer non è adatto alla codifica.
- Laravel non verifica la deliverability. Bouncer migliora il posizionamento nella casella di posta elettronica con informazioni reali.
Per le aziende che si affidano a indirizzi e-mail puliti e validi, Bouncer potrebbe essere la scelta migliore. Assicura che le vostre e-mail raggiungano le caselle di posta giuste – tecnicamente valide e consegnabili.
Conclusione
Prima di decidere di usare la convalida delle e-mail di Laravel, è bene sapere che non conferma se l’indirizzo e-mail funziona. Non cattura le e-mail false, le trappole dello spam o gli indirizzi rischiosi che possono danneggiare la reputazione del mittente. Inoltre, l’impostazione di regole di validazione personalizzate richiede conoscenze di codifica e, anche in questo caso, Laravel non verifica gli indirizzi e-mail validi al di là della formattazione di base.
Bouncer potrebbe essere un’alternativa migliore. Verifica le e-mail reali, blocca le trappole dello spam e automatizza l’intero processo, senza bisogno di codifica. Sia che abbiate bisogno di verifiche di massa o di controlli in tempo reale, Bouncer garantisce che le vostre e-mail raggiungano le caselle di posta reali e non i vicoli ciechi.
Non limitatevi a controllare se un’e-mail ha un aspetto corretto: assicuratevi che funzioni. Provate Bouncer oggi stesso con crediti gratuiti.

