error, no hay... pues tu código es correcto
te recuerdo que PHP no es un servidor SMTP, y lo que hace PHP con
mail() es solo hacer la transferencia del correo hacía el servidor correspondiente...
si tu servidor no tiene algún SMTP es natural que no envíe nada, o bien, si
lees el manual... notarías que
mail() devuelve un valor, el cual puedes usar para averiguar si la transferencia del correo fue echa correctamente!!
http://php.net/mail