I use the mail() function to send mails.
Using the last parameter, you can specify an array of special identifiers, such as a separator (HTML posts are multi-part posts).
Try to get an exemple sent by outlook or messenger in html format; pick the sep.
Note: with netscape messenger, you can leave your HTML code as is. BUT with outlook, every "=" sign removes the 2 chars after it, so you should replace every "=" by "=3D" (this is correctly treated in Netscape AND outlook)
Moreover, there is a limit (outlook again) to the length of the line, so you should add a newline (backslash and n) every 1000 chars approx. (between words for instance).
Please write me if you want an example.