Io conosco questa:

function checkMail($m) {
// la funzione rende TRUE/FALSE
// a seconda se l'indirizzo spedito
// è valido o no

$r = "([a-z0-9]+[._-]?){1,3}([a-z0-9])*";
$r = "/(?i)^{$r}@{$r}.[a-z]{2,6}$/";

return preg_match($r, $m);
}


Dunque potresti fare:

if(checkMail($mail))
{
// invia mail
}
else
{
//errore
}