No estoy seguro, pero que el arroba delante de la funcion mail no va, eso hace que no se muestre los problemas.
cambie esto :
Código PHP:
if (@mail($email_to, $asunto ,$contenido ,$cabeceras )) {
//Si el mensaje se envía muestra una confirmación
header('Location: ok.html');
}else{
//Si el mensaje no se envía muestra el mensaje de error
header('Location: error.html');
}
por esto:
Código PHP:
$mensaje_send = mail($email_to, $asunto ,$contenido ,$cabeceras);
if ($mensaje_send) {
//Si el mensaje se envía muestra una confirmación
header('Location: ok.html');
}else{
//Si el mensaje no se envía muestra el mensaje de error
header('Location: error.html');
}
de todos modos, lo recomendable es usar una clase o algun sistema open source para enviar email, pero tenga en cuenta que en algunos servidores las funciones de enviar email desde un archivo estan bloqueadas por un tema de seguridad,
una buen y facil de usar es:
http://phpmailer.worxware.com/
puede que este bloqueda en su servidor, pero puede probarla.
tuto:
http://www.desarrolloweb.com/articulos/phpmailer.html
existen muchos sistemas open sources, incluso mas complejos, pero todo depende para que lo vaya utilizar.
si va enviar email de publicidad, use
http://mailchimp.com/
con eso se evitara tener problemas con su hosting, ya que los envios de email son monitoreados y hay limite de envio por dia, en el caso de google 500.
saludos
PD: los arrobas detante de la variables no van, tambien deberia usar strip_tags() para limpiar.
y si el formulario va ser publico, debera usar una buena validacion para evitarse dolores de cabeza.