Verificare una e-mail controllando i DNS e i record MX

Creato il 25 settembre 2012 da Decadeweb @simone_marchese
NewsPHPTutorial

Oggi Decadeweb ha lavorando sul CMS utilizzato per il portale.

Abbiamo impletato una nuova funzionalità che permette l'analisi delle entità (tabelle) sui campi e-mail verificando che il dato inserito sia una e-mail e che sia associato a un dominio reale.

Questo permette di tenere le nostre liste pulite ed inviare la newsletter a persone effettive.

Dopo una breve descrizione passiamo al codice

Script PHP

function controlloMX($email){
$str = "";
// Divido la mail usando la chicciolina come separatore
list($alias, $domain) = explode("@", $email);
// Utilizzo la funzione checkdnsrr per controllare che nel DNS
// del dominio di riferimento vi siano record MX.
if (checkdnsrr($domain, "MX"))
{
// Recupero i record MX e creo un array con i risultati
getmxrr($domain, $mxhosts);
// Ciclo l'array $mxhosts e stampo i risultati
foreach($mxhosts as $mxKey => $mxValue)
{
$str .= "- " . $mxValue . "
";
}
// Confermo che il test è stato passato e quindi l'email è valida!
$str .= "Verifica del Host: OK" ;
// In caso di risultato negativo della funzione checkdnserr
// Stampo un messaggio di errore
}else{
$str .= "Verifica del Host: FALLITA";
}
return $str;
}

Il codice è ben commentato quindi non dovreste aver problemi a intuire i passaggi utilizzati.


Autore

Sviluppatore web, aree riservete e gestionali.
Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.


Sito web dell'autore