Vale, he cantado victoria demasiado pronto.
Si bien es cierto, el formulario funciona perfectamente. Incluso envia el correo al mail que introducimos depues de hacer la comprobacion en la base de datos y ver que existe tal correo. Pero claro, me envía el correo con el nombre usuario y clave vacios!!

Y no es de estrañar porque no defino en ningún momento las variables $usuario y $contrasena es decir, esta linea(al final del form):
Código PHP:
mail($mail, "Recuperación de password", "Sus datos en +++ son Nombre: $usuario, Contraseña: $contrasena. Muchas gracias por la consulta.$headers);
envia al correo unas variables que no han sido definidas. Y entonces pregunto, para definir esas variables se hace así?:
Código PHP:
$ssql = "SELECT * FROM mi_db WHERE nombre_usuario='$usuario' and clave_usuario='$contrasena'";
$usuario='nombre_usuario';
$contrasena='clave_usuario';
Gracias