Pit: php Email validieren

Hallo,

ist die überprüfung mit folgender Funktion narrensicher?

  function check_email($email)
  {
      if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
		  return true;
  } else {
   echo("Ungültig");
   return;
  }
  }

Und welche Zeichen sind in einer mail alle erlaubt?

Pit

  1. Tach!

    ist die überprüfung mit folgender Funktion narrensicher?

    Nein, sie testet nur eine syntaktische Richtigkeit. Man kann trotzdem Müll eintragen, oder Adressen nichtexistenter Postfächer, solange das syntaktisch richtig ist. Wenn das in deinem Fall ausreicht, dann mag das ok sein.

    Und welche Zeichen sind in einer mail alle erlaubt?

    Das ist der nächste Punkt: ziemlich viele. Ob der verwendete Algorithmus alle syntaktisch gültigen Adressen zu erkennen vermag oder auch einge gültige Sonderfälle abweist, kann ich nicht sagen. Wird sich aber vermutlich nur um meist vernachlässigbare Exoten handeln.

    dedlfix.

    1. Hi Dedlfix,

      Wenn das in deinem Fall ausreicht, dann mag das ok sein.

      ich denke, das ist in meinem Fall egal. Danke für die Hilfe, Pit

  2. FILTER_VALIDATE_EMAIL ist schon gut, liefert aber bis heute false bei IDN-Domains (meier@müller.de). Es gibt aber genug Workarounds, einfach nach "FILTER_VALIDATE_EMAIL Umlaute" suchen.

    Ich würde allerdings beanstanden, dass deine Funktion da ein echo drin hat, statt bool zu liefern, wie im ersten Fall.

    1. Ich würde allerdings beanstanden, dass deine Funktion da ein echo drin hat, statt bool zu liefern, wie im ersten Fall.

      Nein, das hat es nicht, das war nur für das Posting hier. "In echt" bedient das "false" eine andere Funktion, die ich aber hier nicht aufführen wollte.

      Danke für den Hinweis,

      Pit