nslookup for validate e-mail
Montag, September 8th, 2008Da hat mich Chef doch mal wieder auf eine Interessante Idee gebracht. Um zu überprüfen ob eine E-Mail Adresse existiert, haben wir einen nslookup auf den MX Eintrag der Domain gemacht. So finden wir heraus ob eine E-Mail überhaupt zugestellt werden kann.
Dies könnte man jetzt noch weiter übertreiben, indem man eine Verbindung nach 25 aufmacht und testet ob der Empfänger existiert. Dies ist aber auf Grund von Graylisting und co. nicht möglich.
function nslookupMX($email)
{
list($user,$domain) = split("@",$email);
//TODO: NSLOOKUP php function nutzen
exec('nslookup -q=mx '. $domain, $nslookup);
// Non-authoritative answer
// NXDOMAIN
foreach($nslookup as $value)
{
// Schlüssel wörter von nslookup feddora 9 ggf. anpassen.
if(strpos($value, 'NXDOMAIN') || strpos($value, 'Non-authoritative'))
{
return false;
}
}
return true;
}
Beispiel Code! Code so nicht im Einsatz! Durch die excec function ist die function anfällig für hecking.