Mira, no lei mucho el codigo php, el form esta bien, te paso el codigo php que uso siempre yo y funciona barbaro, despues vos tenes que ir completandolo con los datos correspondientes, ojo, tambien puede ser un problema de hosting, si no te funciona el codigo que te paso, yo te diria que te comuniques con tu hosting y le comentes el problema.
Código:
<?php
/*----------- INICIO DE CONFIGURACION-----------------*/
//mail del destinatario (escribirlo entre las comillas)
$destino=' tu direccion Web ';
//nombre del que envía el correo (escribirlo entre las comillas)
$origen_nombre='Contacto';
//mail del que envía el correo (escribirlo entre las comillas)
$origen_mail='Web';
//título del corrreo (escribirlo entre las comillas)
$subject='Mensaje de Consulta';
//página a la que se va luego de enviar el mail (escribirlo entre las comillas)
$adondevoy='envioForm.html';
/*----------- FIN DE LA CONFIGURACION-----------------*/
$headers = "From: $origen_nombre <$origen_mail>\r\n";
$headers .= "Reply-To: $origen_mail\r\n";
$headers .= "Return-Path: $origen_nombre <$origen_mail>\r\n";
$mensaje='';
foreach($_POST as $k => $v){
$v=strtr($v,"\r\n\t"," ");
if($k!='Submit' && $k!='Enviar'){
$mensaje.=ucfirst($k).": $v\n";
}
}
mail($destino,$subject,$mensaje,$headers);
header("Location:$adondevoy");
?>
Luego chequea que coincida todo.
Saludos.