monners
9/28/2012 - 1:12 AM

php - validateEmailAddress

php - validateEmailAddress

function check_email_address($email) {
  // First, we check that there's one @ symbol, 
  // and that the lengths are right.
  if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {
    // Email invalid because wrong number of characters 
    // in one section or wrong number of @ symbols.
    return false;
  }
  // Split it into sections to make life easier
  $email_array = explode("@", $email);
  $local_array = explode(".", $email_array[0]);
  for ($i = 0; $i < sizeof($local_array); $i++) {
    if
(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&
↪'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$",
$local_array[$i])) {
      return false;
    }
  }
  // Check if domain is IP. If not, 
  // it should be valid domain name
  if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
    $domain_array = explode(".", $email_array[1]);
    if (sizeof($domain_array) < 2) {
        return false; // Not enough parts to domain
    }
    for ($i = 0; $i < sizeof($domain_array); $i++) {
      if
(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|
↪([A-Za-z0-9]+))$",
$domain_array[$i])) {
        return false;
      }
    }
  }
  return true;
}

$email = $_POST['email'];

if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
	if(check_email_address($email) == true) {
	 ( mail('info@renegadecigars.com', 'New Website Message from ' . htmlspecialchars($_POST['email']) . ' concerning a ' . htmlspecialchars($_POST['locker-size-menu']) . '-sized locker.', htmlspecialchars($_POST['message']) ) );
		if ($_POST['name'] != '') {
		$status = "<p id='inquiry-message'>Thank you for your inquiry, {$_POST['name']}. We will get back to you as soon as we can.</p>";
			} else {
				$status = "<p id='form-message'>Your message has been sent.  We will get back to you as soon as we can.</p>";
			}
	} else {
		$status = "<p id='form-message-failed'>Your message could not be delivered.  Please include a valid email address and try again.</p>";
		return false;
	}
}