Version: 1.0
Type: Sample Code (HOWTO)
Category: Other
License: GNU General Public License
Description: Get rid of fake e-mail addresses from your user inputs. This script not only checks the validity of the format of the e-mail address, but it attempts to connect to the mail server of the submitted e-mail address as well. Don't settle for a database full of fake e-mail addresses.
// Set the form error check to false
$form_errors = array();
//E-Mail address verifications
// Make Email a required field
$Email = trim($Email);
if ($Email == "") {
$form_errors["required_Email"] = true;
}
elseif (!eregi("^([a-zA-Z0-9._-])+@([a-zA-Z0-9._-])+\.([a-zA-Z0-9._-])([a-zA-Z0-9._-])+", $Email)) {
$form_errors["Email_badformat"] = true;
}
// Attempt to resolve the MX host
else {
list($user, $domain) = split("@", $Email, 2);
if (! checkdnsrr($domain, "MX")) {
$form_errors["Email_badhost"] = true;
}
}
// Check if there are any errors
if (count($form_errors)) {
// If the user left the e-mail field blank
if ($form_errors["required_Email"]) {
echo("<font color=\"#ff0000\"><b>Your E-mail Address is required.</b></font>");
}
// If the format of the e-mail address is incorrect
elseif ($form_errors["Email_badformat"]) {
echo("<font color=\"#ff0000\"><b>Please enter a valid e-mail address.</b></font>");
}
// If the mail server of the address the user provided could not be contacted
elseif ($form_errors["Email_badhost"]) {
echo("<font color=\"#ff0000\"><b>Your E-mail address did not resolve to a working e-mail server.<br> Please enter a valid e-mail address.</b></font>");
}
}