Per la validazione della mail io uso questa espr.regolare più volte suggerita (e forse anche creata, non so)da andr3a.

function checkMail( $m ) {
// andr3a / HTML.IT
$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
return preg_match($r, $m);
}