OK, du hast also nicht die Quelltextansicht in GMX aktiviert (falls es dort sowas überhaupt gibt), sondern dir wird DIREKT der Quelltext der Mail angezeigt.
Da du in Beitrag 1 Code-Tags verwendet hast, war ich davon ausgegangen, dass du den Quelltext der Email gepostest hast und dachte, das Problem liegt in einer falschen Darstellung des HTML-Layouts und in den falsch codierten Zeichen. Aber das hat sich ja jetzt geklärt :)
Anscheinend werden die "\r\n" zum Trennen der Header nicht richtig erkannt, so dass ab dem zweiten Header (Reply-To) alles direkt ausgegeben wird. Das erklärt auch die Zeichenprobleme, denn der betreffende Content-Type-Header kann dann gar nicht mehr berücksichtigt werden
Im PHP Manual findet sich folgender Hinweis:
Hinweis:
Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden. Einige UNIX-MTAs (mail transfer agents) ersetzen leider LF durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF verwendet wird). Dies sollte aber nur in Ausnahmefällen geschehen, da es gegen » RFC 2822 verstößt.
Möglicherweise läuft auf dem Server solch ein MTA. Also probier mal, die Header mit "\n", statt mit "\r\n" zu trennen.