Código PHP:
<?
include("variables.php");
$mensaje = "";
if (isset($_POST["enviar"])){
if(empty($_POST[nombre])){
$mensaje .= "Debes escribir un nombre.<br>";
}
if(empty($_POST[email])){
$mensaje .= "Debes colocar tu email.<br>";
}
if(empty($_POST[otro])){
$mensaje .= "Debes escribir un mensaje.<br>";
}
if ($mensaje != ""){
echo "Se han producido los siguientes errores:<br>".$mensaje;
}
if (!ereg("^([a-zA-Z0-9._]+)@([a-zA-Z0-9.-]+).([a-zA-Z]{2,4})$",$email)){
echo "El e-mail que puso es incorrecto o no tomado como e-mail valido.";
echo "<br>";
echo "<p align=center><font size=1 face=Tahoma><a href=index.php?ir=3><font color=#006699>Volver</font></a></font></p>";
echo "<br>";
} else {
if($mensaje == "" && $enviar)
{
$nombre=$_POST["nombre"];
$email=$_POST["email"];
$otro=$_POST["otro"];
$sheader="From:".$nameweb."\nReply-To:".$email2."\n";
$mensaje="nombre (".$nombre.") email (".$email.") mensaje (".$otro.")";
mail("$email2","Contacto",$mensaje,$sheader);
echo "El mensaje se envio correctamente!..";
}
}
}
?>
No enviabas el mensaje en el caso sólo de que fuera una dirección de email no válida pero no incluías las condiciones que comprobabas antes de campos vacíos.
Sólo he modificado la línea
if($mensaje == "" && $enviar) incluyendo que se envíe siempre y cuando sea el email válido y antes no se haya producido ningún mensaje de error.