Jak sprawdzić poprawność adresu e-mail w PHP5?

Niedawno w sieci trafiłem na świeży post dotyczący sprawdzania poprawności e-maila w PHP – był on tak słaby, że zmotywowałem się do napisania jak można to zrobić lepiej a przynajmniej w miarę dobrze :-)

/**
* Validate e-mail
* @param string $email
* @return bool
*/
function valid_email($email) {
if (empty($email)) return false;
list($email_name, $email_domain) = explode("@", $email);
return
filter_var($email, FILTER_VALIDATE_EMAIL) &&
checkdnsrr($email_domain, "MX");
}

Słowem wyjaśnienia:

  1. sprawdzamy, czy parametr $email jest pusty
  2. rozbijamy podany e-mail na nazwę konta i nazwę domeny
  3. sprawdzamy czy podana zmienna jest poprawnym adresem e-mail
  4. sprawdzamy czy domena z podanego adresu e-mail istnieje

Uwagi:

  • funkcja filter_var jest dostępna od PHP 5.2.0
  • funkcja checkdnsrr na platformach Windows jest dostępna dopiero od PHP 5.3.0
Ten wpis został opublikowany w kategorii Informatyka, PHP. Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>