Hallo!
Wenn \r oder \n in solchen in Header einzufügenden Daten vorkommen, kann man das Script kommentarlos beenden. Ein Spam-Bot interessiert sich nicht für korrekte HTML-Syntax oder eine Fehlermeldung. Er muss einfach nur an seinem Tun gehindert werden.
Du hast natürlich recht! Kein Einwand.
Der Hauptgrund dafür ist meist ein nicht richtig konfiguriertes System (PHP findet den MTA (Mail Transfer Agent) nicht).
Das sehe ich allerdings anders. "Meist" arbeitet man mit einem fertig eingerichteten System eines Massenhosters. Die wenigstens werden ihre Server selbst aufsetzen und konfigurieren. Für den durchschnittlichen Anwender ist das einfach zu viel. Anders sieht es natürlich mit lokalen Testservern (XAMPP u.ä.) aus. Da wirst du wieder recht haben.
Grüße, Matze