Cita: if($mail==NULL||$fono==NULL);
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=gracias.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
<script>
alert("faltan campos por llenar!");
location.href="contacto.html";//pagina donde esta tu formulario
</script>
<?php
if (!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/", $mail)) {
exit('El formato del email ingresado no es correcto.');
}
?>
y si compruebas y luego mandas?? tu mandas y luego compruebas , tambien estas diciendo a php que si mail es igual a NULL mande el email
if(email==NULL){
aqui si es null
}else{
aqui si llego algo , y si llego enviamos email o podemos seguir comprobando campos y al final mandamos email
}
tambie puedes verificarlo con empty
if(empty($email)){
error , llego vacio
}