L'invio di mail è una cosa particolarmente delicata, php ti fornisce la funzione di base che è mail, ma per usarla bene ci devi lavorare un pò.
Se vai su www.php.net ci sono esempi e guide su come utilizzare al meglio mail, ma ti dico da subito che non sempre il risultato sarà buono come ti aspetti.
Se vuoi mandare una mail fatta veramente bene e come vuoi tu allora devi chiamare in causa le classi Pear (pear.php.net) ma per poterle utilizzare devi avere una certa padronanza dello spazio web dove risiede il tuo sito.
C'è di buono che le classi pear molte volte funzionano anche senza doverle installare con la procedura pear install, ma se le installi è meglio.
Pear ti offre due classi sensazionali: Mail e Mail_mime.
Questi due oggetti poi mi pare richiedano Net_SMTP (sempre una classe pear).
In sostanza Mail serve per inviare una mail, Mail_mime ha diversi metodi che ti permettono di comporre una mail html (con tanto d'immagini e/o allegati) e/o testo (nel senso che se li implementi tutti e due quando un destinatario non può leggere l'html vede solo il testo).
Inoltre implementa destinatario e mittente.
La cosa bella è che una mail composta e mandata tramite Mail e Mail_mime buca anche gli antispam, mentre una mail mandata con la funzione mail() spesso viene bloccata dagli antispam.