Hola Diana. Tuve un problema muy parecido en mi hosting actual. No se si la causa pueda ser la misma, pero por si acaso esto es lo que me ocurría.
Resulta que el servidor de correo del hosting estaba añadiendo una serie de cabeceras a los mensajes. Algo como esto:
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ***********
X-AntiAbuse: Original Domain - mydomain.com
X-AntiAbuse: Originator/Caller UID/GID - [99 99] / [99 99]
X-AntiAbuse: Sender Address Domain - ***********
Estas cabeceras que añadía el servidor de correo provocaban que los mensajes en formato texto plano que enviaba desde el servidor mostraran esas líneas en el comienzo del mensaje y los mensajes en formato HTML aparecían en formato texto y mostrando las etiquetas, tal como te pasa a ti.
Por lo visto esto no ocurría en todos los clientes de correo. Si enviaba correos en formato HTML a una cuenta de correo de Hotmail, podía leerlos correctamente via web. En cambio con cuentas de correo que chequeaba desde Outlook 2000 no funcionaba.
Descubrí que quitando el
n al final de cada una de las cabeceras en el código PHP, podía leer el correo en HTML correctamente desde Outlook 2000 y con algunas cuentas, pero en otras no funcionaba, así que lo dejé como estaba para no liar más el asunto. Y así seguirá, supongo, porque no he vuelto a enviar mensajes en HTML desde el servidor y el administrador tampoco me hizo mucho caso:(
No se si tu problema puede ser debido a algo parecido. El caso es que me ha recordado bastante al problema que tuve, ya que el mismo código funcionaba perfectamente en el hosting que tuve anteriormente.
Creo que deberías contactar con el administrador del hosting para comentarle el problema, ya que no se trata de un problema en tu código PHP
Salu2,
Avalon