<?php class InvalidEmailException extends Exception {
function __construct($message, $email) { $this->message = $message; $this->notifyAdmin($email); }
private function notifyAdmin($email) { mail("admin@yourdomain.com","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";
if (isset($_POST['email'])) { $subscribe = new subscribe(); if($subscribe->validateEmail($_POST['email'])) $subscribe->subscribeUser($_POST['email']); }