Te faltarón un buen montón (todas) las cabeceras HTTP adecuadas para componer un e-mail de forma standard ..
No sé si usas ese código en tu servidor própio (tu PC?) o bien es un servicio de hosting .. Pero el caso es que si lo envias a una cuenta yahoo sin cabeceras es probable que tu e-mail sea detectado como "spam" o similar y sea filtrado por ese sistema.
Revisa la documentación oficial de PHP:
www.php.net/mail
En las FAQ's de este foro tienes ejemplos de uso de mail() también...
Un saludo,