Validate email address string in PHP

Description

The following code shows how to validate email address string.

Example


/*from w ww. j  a v  a2s .c  o m*/
<?php
class InvalidEmailException extends Exception {
   function __construct($message, $email) {
        $this->message = $message;
        $this->notifyAdmin($email);
   }

   private function notifyAdmin($email) {
      mail("admin@example.org","INVALID EMAIL",$email,"From:web@example.com");
   }

}

class subscribe {
  function validateEmail($email) {
      try {
         if ($email == "") {
            throw new Exception("You must enter an e-mail address!");
         } else {
            list($user,$domain) = explode("@", $email);
            if (! checkdnsrr($domain, "MX"))
            {
               throw new InvalidEmailException("Invalid e-mail address!", $email);
            } else {
               return 1;
            }
        }
     } catch (Exception $e) {
        echo $e->getMessage();
     } catch (InvalidEmailException $e) {
        echo $e->getMessage();
     }

   }
   function subscribeUser() {
      echo $this->email." added to the database!";
   }

}
$_POST['email'] = "someuser@example.com";

/* Attempt to validate and add address to database. */
if (isset($_POST['email'])) {
     $subscribe = new subscribe();
     if($subscribe->validateEmail($_POST['email'])) 
        $subscribe->subscribeUser($_POST['email']);
}

?>

The code above generates the following result.





















Home »
  PHP Tutorial »
    Development »




Environment
Error
Hash
Include
Locale
Math
Network
Output
Reflection
PHP Regular Expressions