Pero, que problema tienes exactamente?
El envio de mail plano parece estar bien, el de html, las cabeceras deben ir en el mismo grupo o sea, tu tienes: mail($direccion,asunto,cuerpo,cabecera1,cabecera2) ; y deberia ser mail($direccion,asunto,cuerpo,"cabecera1\ncabecera 2");
Las cabeceras (y la manera mas clara de llamarlas) para enviar mail htm son estas:
Código PHP:
$cabecera= "MIME-Version: 1.0\n";
$cabecera .= "Content-Type: text/html; charset=iso-8859-1\n";
$cabecera .="From: webmaster@$server_name\nReply-To: webmaster@$server_name\nX-Mailer: PHP/";
mail ($direccion,$asunto,$mensaje,$cabecera);
Hasta luego