L'envoie de mail en PHP est très simple. On prends la fonction mail, on mets 2/3 arguments qui vont bien et hop votre mail partira. Mais dès que vous voulez en faire un peu plus, ça devient vite très compliqué !
Par exemple si vous essayez d'envoyer un mail en HTML, avec toutes les différents headers qu'il faut mettre pour que cela soit compatible avec tous les clients mails ... vous en avez pour des jours à le rendre performant.
PHPFreaks publie un tutoriel sur tout ce qu'il faut savoir pour envoyer un mail en PHP (avec tests à l'appuie). Le tutoriel utilise la class PHPMailer qui permet de faciliter le traitement d'envoi de mail.
Attention de ne pas sombrer dans le spam ;)