Está raro che. El código debería funcionarte bien sin darte problemas. Por las dudas, te pongo como sería en la practica:
1. Formulario en form.php
Código HTML:
<html>
<head>
<title>Enviar consulta por email</title>
</head>
<body>
<form method="post" action="sendemail.php">
Nombre: <input type="text" name="nombre" /><br />
Edad: <input type="text" name="edad" /><br />
<input type="submit" value="Enviar" />
</form>
</body>
</html>
2. Enviar lo recibido vía email con sendmail.php
Código PHP:
<?php
// Recuperar datos del formulario
$nombre = $_POST['nombre'];
$edad = $_POST['edad'];
// Preparar mensaje
$mensaje = "Los siguientes datos fueron extraídos del formulario:\n";
$mensaje .= "<u>Nombre:</u> " . $nombre . "\n";
$mensaje .= "<u>Edad:</u> " $edad. "\n";
// Preparar el asunto del mensaje
$asunto = "Recuperando información del formulario";
// Dirección de gmail
$gmail = "[email protected]";
// Cabecera para modificar/ocultar el remitente original
$remitente = "[email protected]";
$cabecera =
"From: Servidor <" . $remitente . ">\r\n" .
"Reply-To: noreply <" . $remitente . ">\r\n" .
"X-Mailer: PHP/" . phpversion();
// Enviar el mensaje
mail($gmail, $asunto, $mensaje, $cabecera);
?>
Tal vez hayas olvidado incluir algún parámetro o texto. De todos modos, este código debería funcionarte, sino debe ser por algún otro problema de acuerdo a cómo estés realizando la prueba, o sea, si lo hacemos desde tu computadora (localhost) deberías tener configurado algún servidor de mail correctamente o en todo caso usar el xampp y configurado correctamente previendo que no sea por algún firewall o algo que utilices.
En fin, espero te resulte este código.