- Verschifft
- 5. August 2026 um 01:33 UTC
- Autor
- Kamo
- Ausschuss
- 2fda4ac
Jede transaktionale E-Mail, die wir mit einem inlined org Logo senden, ist in unserem eigenen angekommen /messages Betrachter mit einem richtigen Motiv und einem völlig leeren Körper. ist AttachmentPart() behandelt JEDE Teil mit einer Content-ID als Anhang. Die text/html ROOT eines Multiparts/Verwandten hat einen von Design Setzen Sie es so, dass der RFC 2387 start= Parameter auf den Körper zeigen kann, was sich erlaubt strengere Gateways und Outlook finden es. So walkParseMultipart klassifiziert den Körper als ein Anhang und weiter vorbei, bevor jemals den Text/html erreicht Body-Kandidaten-Zweig. htmlBody blieb null, und weil eine verwandte Sendung trägt keine text/einfache Alternative, textBody war auch null - der Betrachter hatte nichts zu geben. Verifiziert gegen die gelieferte Nachricht anstatt gefolgert: die rohe maildir-Datei hält eine gut geformte Multipart/related mit einem kompletten 4329-Byte text/html root (Content-ID <emailroot", 7bit, Grenzen intakt) und zwei base64 inline PNGs. Die Nachricht war nie das Problem; der Leser war es. Dies war bisher unsichtbar, weil transaktionale Post ohne Inline-Logos ist gesendet als SIMPLE non-multipart text/html-Nachricht, die getMessage() behandelt auf der "content instanceof String" Pfad und nie konsultiert ist AttachmentPart überhaupt. Die Content-ID-Regel gilt immer noch für alles, was kein Textkörper ist, also Inline-Logos bleiben aufgelistet und cid: Referenzen lösen sich weiter. Tests parse RAW MIME anstatt Teile mit setContent zusammenzubauen - das tut es nicht den Content-Type-Header schreiben, bis die einschließende Nachricht gespeichert ist, so dass ein zusammengesetzter Teil berichtet text/plain und jeder isMimeType("text/html") verzerrt still. A Fixture, die über den einen Kopf lügt diese Logik eingeschaltet wäre bestanden gegen den kaputten Code. Bestätigt: 4 der 6 scheitern ohne den Fix.