Hola, no veo q tu script tenga falla, supongo que en el servidor de hosting de tu amigo no tienen habilitada la funcion mail(). Lo que puedes hacer es verificar que es lo que te devuelve mail() (True si funciono bien y false si no se envio)
puedes hacer lo siguiente:
Código PHP:
$resultado=mail($txmail,$txtema,$txdetalle,$header);
if ($resultado=='true')
{
echo "salio bien!";
}
else
{
echo "error al enviar el correo";
}
OJO IMPORTANTE:
Con esto validamos que el servidor tenga habilitada la funcion mail que dicha funcion haga su trabajo, que es contruir el mail y enviarlo al servidor smtp, si eso funciona tendremos el mensaje de "salio bien" pero si en el servidor de hosting estan cerrados los puertos o simplemente tienen la directiva de no permitir el envio de mails desde sus servidores entonces no hay nada que hacer mas que hablar con ellos o bien cambiarse de proveedor.
Saludos!!! Pd. Yo conosco un buen servicio de hosting que hay Mexico, no se de donde seas tu.