My PHP email validation function nowadays is:
function isEmail($value, $network_validation = true) {
// Create the syntactical validation regular expression
// (broken in 2 lines for better readability)
$regexp = "/^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@".
"([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i";
// Validate the syntax
if(preg_match($regexp, $value)) {
if (! $network_validation)
return true;
$tmp = explode('@', $value);
$username = $tmp[0];
$domaintld = $tmp[1];
// Validate the domain
if (getmxrr($domaintld, $mxrecords) || checkdnsrr($domaintld, 'A'))
return true;
}
return false;
}
This is for my own reference, maybe this is all messed up, so use it at your own risk.