Letztlich eh egal, wenn mailto: gar nicht im PHP header() erlaubt ist.
das ist es definitiv nicht.
Falsch, es ist erlaubt (ich beziehe mich hier auf HTTP-Location & mailto:, mit PHP und header() hat das alles nur sehr entfernt am Rande zu tun).
header() ist dazu da, um HTTP-header auszulesen
Nicht so hastig, header() gibt etwas aus, zum Einlesen ist die Funktion nicht da.
mailto: ist aber kein bestandteil von HTTP.
Nein, muß es auch nicht. Dennis hat schon die richtige Seite rausgesucht: In Abschnitt 14.30 der HTTP/1.1-Spezifikation (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30) heißt es zur Syntax des HTTP-Kopfs Location:
Location = "Location" ":" absoluteURI
Leider hat Dennis sich nicht die Mühe gemacht, mal weiter zu schauen, was "absolute URI" eigentlich bedeutet; dabei ist die Antwort nur eineinhalb Seiten entfernt.
Der Begriff "absoluteURI" gibt schon alleine einen Hinweis darauf, dass damit keine spezielle URI-Form gemeint sein kann (andernfalls hieße es "absoluteHTTPURI" oder etwas in der Art). Genau steht es in Abschnitt 3.2.1 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1), dort heißt es nämlich lapidar, die HTTP/1.1-Spezifikation "adopts the definitions of [..] 'absoluteURI' [..] from ['Uniform Resource Identifiers (URI): Generic Syntax and Semantics,' RFC 2396]". In der allgemeinen (!) Beschreibung von URIS, RFC 2396, angekommen, lesen wir
absoluteURI = scheme ":" ( hier_part | opaque_part )
Allgemeiner geht's bald nicht mehr, von einer Beschränkung auf HTTP keine Spur. Wer trotzdem noch zweifelt, darf meinetwegen auch noch "scheme" nachschauen.
Kurz: Bei Location kann jede denkbare URI angegeben werden.
und nur weil zufällig eine kombination aus client- und serverseitiger konfiguration gefunden wurde, bei der das "geht", sollte man ja bekanntlich noch lange nicht auf ein allgemeingültiges "es funktioniert" schliessen.
Ein Browser, der in Location nur HTTP akzeptiert (und vielleicht FTP), ist schlichtweg kaputt. Nichtsdestotrotz wäre ich allerdings auch etwas vorsichtig bei der Angabe von mailto: in diesem Fall, obwohl eigentlich nichts für eine spezialisierte Behandlung von URIs, die mit Location statt <a> & Co. kommen, spricht.
@Arx: diesen unfug bitte schnellstmöglich vergessen.
Jaja, Lesen bildet ;)
Gruß,
soenk.e