hi,
you should take a look at Kartic's article hosted here. I think you should add to the body the MIME specs needed (like the boundaries, and so on ... )
Why not considering giving up the mail() func and use a connection to your SMTP daemon with fsockopen(host,25) ? i can provide my sample code for that if you want (with comments in french though, he he)
Greuh !