Newsletter

  • Immer informiert über die neusten Trends, Webseiten und Tutorials! Einfach hier für den monatlichen Newsletter anmelden.
  •  Eintragen
  •  Austragen

Login

Umfrage

  • Bloggt Ihr?
  •  
  • ja
  • nein
  • bloggen?
  •  

BlackBeats

BlackBeats.fm Stream
- ONAIR -
Hip Hop Musik vom feinsten

Blackbeats FM

Linktipps

» Startseite » PHP und MySQL Tutorials

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).

  1.  <?php
  2.  // Funktion erstellen, in $addr ist die zu prüfende Mailadresse:
  3.  function validate($addr){
  4.   // Die Mailadresse wird zunächst nur auf äusserliche Richtigkeit geprüft:
  5.   if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-öäü]+\.([a-zA-Z0-9-]{2,4})$",$addr)){
  6.    // Wenn die äusserliche Form nicht richtig ist wird FALSE zurückgegeben:
  7.    return FALSE;
  8.   }else{
  9.      // Die Adresse wird auseinander genommen:
  10.      list($user, $host) = explode("@", $addr);
  11.      // Die Domain nach dem @-Zeichen wird überprüft:
  12.      if(checkdnsrr($host, "MX") or checkdnsrr($host, "A")) {
  13.          // Wenn sie existiert wird TRUE zurückgegeben:
  14.          return TRUE;
  15.      }else{
  16.          // Wenn nicht, FALSE:
  17.          return FALSE;
  18.      }
  19.   }
  20.  }
  21.  ?>


Aufrufen kann man die Funktion dann mit:

  1.  <?php
  2.  if(validate($addr)){
  3.  // Hier der Code wenn die Mailadresse richtig ist...
  4.  }else{
  5.  // Hier der Code wenn die Mailadresse falsch ist...
  6.  }
  7.  ?>


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.



Fragen? Probleme? Keine Antworten? Hilfe finden Sie im Webmaster Forum!

Diese Artikel könnten Sie auch interessieren:
Unterschiedlicher Footer auf verschiedenen Seiten
Alternative Syntax für Kontroll-Strukturen
String nach Wortende trennen
Reguläre Ausdrücke