Todo lo que comentas mixba .. si quieres puedes "empaparte" del protocolo SMTP (en sus RFC's correspondientes) para saber como se compone un e-mail .. com se hace para enviar un e-mail multiparte (texto plano y HTML simultáneamente) .. com enviar archivos adjuntos por ejemplo .. etc.
Pero, si no quieres complicarte en eso .. usa la classe:
PHP Mailer
http://phpmailer.sourceforge.net
Ahí mismo en su código (por si quieres hacerlo tu mismo) veras como se genera un e-mail de esas características ..
Con esto no quiero decir que no se hagan las cosas por uno mismo . .pero en la práctica con la "cultura general" de saber de que va el tema y que lo gestiona (como comenté arriba) "sobra" .. el resto .. usa algo probado simplemente.
Un saludo,