Hallo zusammen,
ich stehe vor einem etwas rätselhaften Phänomen: Ich habe eine Notes-Applikation, die Mails aus dem Internet bekommt, per BeforeNewMailArrives-Agent bearbeitet und nach einem computewithform speichert. Dabei wird der MIME-Body der Mail in ein Richtext-Body-Item konvertiert. Theoretisch sollten dabei inline-Bilder weiterhin inline im Richtext sein. Nun passiert das aber für manche Bilder nicht. "Bilder als Anhang anzeigen" im Client ist natürlich aus.
Ich habe meinem Agent gesagt, er soll mir mal etwas über die MIME-Header erzählen, bevor sie konvertiert werden, und war erstaunt was für ein Blumenstrauß an Kombinationen da dabei waren. In der Regel war das Problem, dass "Content-Disposition" auf "attachment" stand. Das konnte ich vor der Konvertierung in Richtext auf "inline" ändern und voila, alles gut. Eine "Content-ID" war ohnehin da.
Nun funktioniert es leider bei .png-Dateien nicht. Aus mir unklaren Gründen ist der "Content-Type" dort "application/octet-stream", obwohl ich mir recht sicher bin, dass der Absender das als inline-Bild abgeschickt hat. Ich habe versucht das auf "image/png" zu ändern (und die Disposition auf "inline"), aber mein Richtextfeld hat an der passenden Stelle trotzdem nur ein rotes "[IMAGE]" stehen und das File im Anhang.
Eines schönen Tages ist das auch bei einem .jpeg passiert und die einzige Besonderheit, die ich gesehen habe, war, dass der Dateiname eine große Datei-Endung hatte, also .JPEG. Die PNGs haben auch alle .PNG als Endung. Das klingt zwar komisch, aber ich habe trotzdem mal versucht den Dateinamen in allen MIME-Headern klein zu machen, aber das hat's auch nicht gebracht.
Jetzt stelle ich mir so langsam die Frage, ob das mit PNGs gar nicht geht?! Kann das sein? Kommt mir irgendwie unwahrscheinlich vor, aber im Internet findet man leider vor allem Dinge zu Webseiten. MIME-Mail-zu-Richtext-Konvertierungen scheinen nicht so hipp zu sein. Daher komme ich nicht drauf, was ich falsch mache?!
Content-Type ändern von "application/octet-stream" auf "image/png"
Content-Disposition ändern von "attachment" auf "inline"
Der Content-Type-Header "name", der Content-Disposition-Header "fullname" und die Content-ID passen zusammen.
Dennoch landet das .PNG im Anhang, ob nun groß oder klein geschrieben. Am richtigen Ort ist nur ein rotes "[IMAGE]". Gibt's hier eine geheime Zutat, die ich übersehe? Ich finde es ja eh schon rätselhaft, warum der Content-Type nicht von Anfang an schon als "image/png" ankommt?!
Verwirrte Grüße
Stefan