Mira littledave yo no encuentro error alguno, lo que casi puedo asegurarte esque tu servidor de correo no interpreta HTML, has una prueba y envia un correo con tu función pero a un correo de gmai, hotmail, yahoo, por que la mayoria de los sistemas para checar email, hablando de servidores qe te rentan hosting no interpretan html.
checale eso puede ser el problema.