Ich mache mir gerade darüber gedanken, wie ich E-mail Adressen auf ihre völlige Korrektheit prüfen kann.
Bis jetzt geht mein Ansatz so:
1.) Check mit Reguläten Ausdrücken
2.) Dns Check auf Die Domain
3.) Versuchen einen Socket auf dem Smtp Server zu öffnen
Eigentlich wäre das ja dann ziemlich perfekt wenn denn 3.) immer funktionieren würde, bei meiner eigenen Domain funzt es zB. aber web.de oder gmx Adressen tanzen da natürlich mal wieder aus der Reihe und geben gar keine Rückantwort. Wodurch die Seite dann eine ewigkeit lädt aber einfach keine Rückmeldung gibt. Hat jemand eine Idee, wie ich web.de Adressen & Co auf ihre Existenz prüfen könnte?
(Achso ich möchte das mit einem Skript hinbekommen nicht mit einer Aktivierungsmail).
Mein bisheriger Ánsatz:
Bis jetzt geht mein Ansatz so:
1.) Check mit Reguläten Ausdrücken
2.) Dns Check auf Die Domain
3.) Versuchen einen Socket auf dem Smtp Server zu öffnen
Eigentlich wäre das ja dann ziemlich perfekt wenn denn 3.) immer funktionieren würde, bei meiner eigenen Domain funzt es zB. aber web.de oder gmx Adressen tanzen da natürlich mal wieder aus der Reihe und geben gar keine Rückantwort. Wodurch die Seite dann eine ewigkeit lädt aber einfach keine Rückmeldung gibt. Hat jemand eine Idee, wie ich web.de Adressen & Co auf ihre Existenz prüfen könnte?
(Achso ich möchte das mit einem Skript hinbekommen nicht mit einer Aktivierungsmail).
Mein bisheriger Ánsatz:
PHP-Code:
function checkEmail($email)
{
global $info;
if(preg_match("/^([a-zA-Z0-9-])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/" , $email))
{
list($username, $domain) = split('@', $email);
if(! checkdnsrr($domain,'MX') )
{
return 0;
}
if( $info->vars['smtp_check_mail'])
{
// attempts a socket connection to mail server
if(! fsockopen($domain, 25, $errno, $errstr, 30) )
{
return 0;
}
}
return 1;
}
return 0;
}
Kommentar