en realidad "todo me da correcto" es falso.
No estás haciendo la comprobación de que sea correcto o no.
Te recomiendo hacer esto:
Primero, agregar las líneas
error_reporting(E_ALL);
ini_set('display_errors', true);
al principio de tu archivo. Esto te asegura que verás TODOS los errores y advertencias generadas.
Luego que tu programa esté funcionando, dejalo así:
error_reporting(0);
Segundo, cambiá la última parte del código:
esto
Código PHP:
mail("[email protected]","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
por esto:
Código PHP:
if (mail("[email protected]","Formulario recibido",$cuerpo)) {
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
} else {
echo "ERROR";
}
a ver qué sale :)
Saludos.