Te dejo el que yo uso, que a su vez lo cogi de aquí. Yo sólo uso la primera parte pero miralo tu, a mi me funciona perfecto:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
//Ejemplo adaptado de forosdelweb.com/f18/cojer-todas-las-variables-enviar-por-mail-683511
// coje las variables del formulario
$body = ' Petición recibida:<br /><br />';
foreach ( $_POST as $clave=>$valor ) {
$body .= $clave.': <b>'.$valor.'</b><br>';
}
$dest = '
[email protected]';
$asunto = $_POST["form name"];
$cabeceras = "From: tudominio.ES\r\nContent-type: text/html\r\n";
mail($dest, $asunto , $body, $cabeceras);
// Si entramos es que todo se ha realizado correctamente
/* $link = mysql_connect("localhost","x","x");
mysql_select_db("cforms",$link); BORRAR LA BARRA Y * SI HACE FALTA ESTE CODIGO*/
// Con esta sentencia SQL insertaremos los datos en la base de datos
//mysql_query("INSERT {$_POST['nombre_tabla']} (nombre,apellidos,empresa,mail,telefono,nif,poblac ion,codigopostal)
//VALUES('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Empresa']}','{$_POST['Mail']}','{$_POST['Telefono']}','{$_POST['NIF']}','{$_POST['Poblacion']}','{$_POST['CP']}')",$link);
// Ahora comprobaremos que todo ha ido correctamente
//$my_error = mysql_error($link);
?>
<title>Formulario Enviado Correctamente</title>
</head>
<body>
</body>
</html>