Tach!
$header .= 'Content-type: text/html; charset=UTF-8';
Das ist ein guter Anfang ;)
Es gehört jedoch ein bischen mehr dazu, z.B. der Header
Content-Transfer-Encoding: quoted-printable
oder
Content-Transfer-Encoding: base64oder, je nachdem, wie der Inhalt kodiert ist, damit am Ende nur ASCII steht. Btw., auch in einem Header selbst darf nur ASCII stehen.
Man kann diesen Aufwand betreiben, aber der Mail-Body ist im Gegensatz zu den Headern nicht zwingend auf ASCII beschränkt. Es geht hier um einen Formmailer, der in einem genau definierten Umfeld die Mails versendet: vom Webserver zu einem konkreten Mail-Server und zu einem oder wenigen Clients. Der Aufwand des 7-Bit-Kodierens des Bodys ist nicht gerechtfertigt, wenn es in diesem Umfeld keine Probleme gibt. Etwas anders sähe ein Mail-Versand in die weite Welt aus, bei dem man mit allen möglichen Mailservern rechnen muss.
dedlfix.