E-Mail Adressen validieren
Hier erfahren sie wie sie sich vor nicht existierenden Mailadressen in ihrer Datenbank schützen können.
Mit dem folgenden Script kann man E-Mail Adressen validieren (überprüfen).
- <?php
-
- function validate($addr){
-
- if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-öäü]+\.([a-zA-Z0-9-]{2,4})$",$addr)){
-
- return FALSE;
- }else{
-
- list($user, $host) = explode("@", $addr);
-
- if(checkdnsrr($host, "MX") or checkdnsrr($host, "A")) {
-
- return TRUE;
- }else{
-
- return FALSE;
- }
- }
- }
- ?>
Aufrufen kann man die Funktion dann mit:
- <?php
- if(validate($addr)){
-
- }else{
-
- }
- ?>
Und schon ist eine relativ gute Mailvalidierung fertig programmiert.
Allerdings sollte man darauf achten das bei sehr hohem Traffic aufkommen die Funktion
checkdnsrr(); recht langsam wird, da sie ja immer für jede Domain eine Anforderung an den Server stellen muss der prüft ob die Domain auch wirklich existiert.
Dafür hat man dann keine Mülleinträge wie srthstrh@srthasth.de mehr in seiner Datenbank!
Hinweis: Man sollte beachten das so Domains mit Umlauten als FALSCH deklariert werden, obwohl Sie vorhanden sein könnten. Dieses Problem ist dank der Vielzahl der internationalen Umlaute aber kaum Möglich zu beheben. Man kann daher diese Funktion nur eingeschränkt nutzen bzw. sollte sie etwas trimmen. Eine Bestätigung des Accounts via E-Mail ist immernoch der sicherste Weg einer Prüfung.