Si envias tu texto en formato HTML .. lo más lógico es que todo caracter que uses sea una entidad HTML .. para eso podrías usar:
htmentities()
http://www.php.net/htmlentities
Podrías poner un extracto de lo que contiene $texto .. por qué debería ser una página HTML como tal . .con su "<html> .. y sus <body> .. </body></html>" al menos para que cumpla con lo que es un standard de una página HTML que es al fin y al cabo lo que mandas por e-mail y así le indicas como cabeceras HTTP ..
Si vas a usar "htmlentities()" usalo para tus datos no para los tag's en sí de HTML que puedan tener comillas dobles o simles y otros caracteres (como acentos y demás).
Un saludo,