Hameeelh: Mail mit Anhang generieren: Nur Anhang wird angezeigt (Thunderb)

Beitrag lesen

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.