Skip to content

Instantly share code, notes, and snippets.

@monners
Created September 28, 2012 01:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monners/3797425 to your computer and use it in GitHub Desktop.
Save monners/3797425 to your computer and use it in GitHub Desktop.
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;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment