Hallo,
Vielen Dank für deinen Hinweis! Leider: Kein Effekt. Der gleiche Fehler wie vorhin: Anhang angezeigt, rest verloren.
das deckt sich mit meinem Test, den ich heute vormittag angekündigt und eben durchgeführt habe. Ob die Zeilenumbrüche nur mit LF oder mit CR+LF realisiert sind, stört den T-Bird nicht die Bohne.
Nun noch etwas interessantes: Anscheinend (so spricht Notepad++ [mit seinen netten Lehrzeichenpünktchen]) haben sich bei meinen generierten (fehlerhaften) Emails vor dem Umbruch (egal ob LF oder CR+LF) manchmal Leerzeichen (U+0020) eingeschlichen, obwohl mein PHP-Code eh so aussieht - vielleicht bin ich blind, aber von einem Lehrzeichen sehe ich hier nix und das ist Originalcode.
Überschüssige Blanks am Zeilenende sind nicht weiter schlimm - aber der Standard erfordert, dass an manchen Stellen LEERE Zeilen stehen, beispielsweise um Header vom Content zu trennen (auch Sub-Header von ihrem zugehörigen Content-Block). Eine Zeile, die ein paar Blanks enthält, ist aber keine Leerzeile!
Ja, das ist mir klar. Nur: Woher kommen diese Leerzeichen, wenn ich doch folgenden Code verwende, der an KEINEM Zeilenende irgendwelche Leerzeichen schreibt :ratlosigsein: $Abschnitt = PHP_EOL.'Content-Type: text/plain; charset=utf-8; format=flowed'.PHP_EOL.'Content-Transfer-Encoding: 8bit'.PHP_EOL.PHP_EOL.$Inhalt.PHP_EOL;
Wovon willst du denn den MIME-Type ableiten?
Aus $_FILES['thefile']['type']
will ich sie nicht nur ableiten, sondern dort steht er. Die Frage ist nur: Könnte dort auch stehen: "text/html[EOL][irgendeine Injektion]". Also: Ist es auch möglich, Injektionen statt einem (korrekten) MIME-Typ zu übergeben? Hat PHP schon überprüft, ob es sich beim "type"-Element überhaupt um einen MIME-Typ handelt (keine Injektion) oder muss ich das (via RegEx) selbst prüfen.
Das muss ich jetzt nicht verstehen, oder?
Nein ;-)
Auf jeden Fall Danke!
lg Hameeelh.