Je nach Server kann es auch sein, dass du \r\n statt \n verwenden musst.
Habs nicht getestet, aber es sollte so funktionieren.
PHP-Code:
$boundary = uniqid("alternative");
$headers = "From: xxx@xxx.ch\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary = " . $boundary . "\n\n";
$body = "--" . $boundary . "\n" .
"Content-Type: text/plain; charset=ISO-8859-1\nContent-Transfer-Encoding: base64\n\n";
$body .= chunk_split(base64_encode("This is the plain text version!"));
$body .= "--" . $boundary . "\n" .
"Content-Type: text/html; charset=ISO-8859-1\nContent-Transfer-Encoding: base64\n\n";
$body .= chunk_split(base64_encode("This the alternative <b>HTML</b> version!"));
$body .= "--" . $boundary . "--\n";
mail("yyy@yyy.ch", "multipart/alternative message", $body, $headers);