(p.s. I know I should use base64_encode() for the content transfer encoding once I get the script working. Also, I tried using /r/n, but that doesn't work even with my basic message under windows. I have based this code on several examples I've seen around on the internet)

i've seen several examples on the internet, including one from zend and they all have a blank message in mail() and place the message in the header text, I assume this is to allow the multipart message.

Also, while I'm on the subject do you know what I specify if I want a response sent back when an email fails to arrive (bounces).

In the first line of my messages you put the separator to show that this is where the first part of the mail goes: $message = "--This_is_my_unique_boundary_\r\nContent-Type: text/plain; charset=iso-8859-1\r\nContent-Transfer-Enoding: 8bit\r\n\r\n";

Hope it explains anything... Do check the full source code of a working html mail with text part. That will pretty much tell you what to do yourself.