codice:
function add_email(){
global $email, $header, $reply_email;
$expression = "^[_A-Za-z0-9-]+@[_A-Za-z-]+(\.[A-Za-z]+)(\.[A-Za-z]+)*$";
$r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
$r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
if(empty($email)){
error("Riempire il campo");
}elseif(!preg_match($r, $email){
error("Indirizzo errato!");
}
}
Questo mettilo al posto di tutta la tua funzione, se vuoi questo funziona. Adesso comunque che è tutto risolto mi dici perché non ti andava bene la funzione di andr3a? 
ceuzzzzz