Я лично делаю так, и html таги разпознаются:
PHP код:
$from = "admin@yahoo.com"; //Адрес отправителя
$to = "user@yahoo.com"; //Адрес получателя
$subject = "Welcome to hell"; //Тема письма
$subject = "=?UTF-8?B?".base64_encode($subject)."?="; //Конвертим тему в UTF-8
$mess = "Привет <b>$lastname $firstname</b>,теперь Ты с нами:<br />"; //Текст сообщения с HTML кодом
$mess .= "Добро пожаловать!"; //Продолжение текста сообщения с HTML кодом
$headers = 'MIME-Version: 1.0' . "\r\n"; //Headers для кодировки
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; //Headers для HTML кода
$headers .= 'From: yahoo.com <'.$from.'>' . "\r\n"; //Дополнительный хед чтобы показывал домейн отправителя
mail($to, $subject, $mess, $headers); //Собственно отсылка сообщения
Удачи!