Te sugiero que antes de implementar el codigo vayas tu creando por partes para ver si todo se envia correcto. Por ejemplo crea variables que esten fuera de la funcion mail() y ahi empieza a declarar todo. Cuando hayas visto que se envio en forma sencilla, empieza a enviar un email con html, busca en el web que hay muchos tutoriales que te dicen como enviar un mail con html. Si logras hacerlo entonces implementa lo que encontraste y verifica si lo envia.
Ejemplo de lo que te digo
Código PHP:
Ver original$to = "EMAIL";
$subject = "Titulo";
$body = "Mensaje sencillo primero y luego con html";
$headers = "Headers que son requerible para enviar html";
$headers .= "Continuacion de los headers";
mail($to, $subject, $body, $headers)