Wie kann eine HTML-E-Mail mit Inline-Anhängen und Nicht-Inline-Anhängen korrekt erstellt werden?HTML-E-Mail mit Inline-Anhängen und Nicht-Inline-Anhängen
Außerdem sagen Sie mir bitte, welche Content-Type nur mit Inline-Anhängen und nur mit Nicht-Inline-Anhängen verwendet werden soll.
Bis jetzt ich habe es wie folgt aus:
MIME-Version: 1.0
[some more headers]
Content-type: multipart/mixed;
boundary="myboundary"
--myboundary
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 7bit
[html with img cid:my_image]
--myboundary
Content-Type: image/png;
name="my_image.png"
Content-Transfer-Encoding: base64
Content-ID: <my_image>
Content-Disposition: inline;
filename="my_image.png"
[base64 image data]
--myboundary
Content-type:application/pdf;
name="my_pdf.pdf"
Content-length:1150
Content-Transfer-Encoding: base64
Content-ID: <my_pdf.pdf>
Content-Disposition: attachment;
filename="my_pdf.pdf"
[base64 pdf data]
--myboundary--
Die E-Mail in Outlook gut aussieht. Aber ich habe gemerkt, dass Thunderbird mein Inline-Bild nicht anzeigt und stattdessen zwei Anhänge anzeigt (Mein Bild und mein PDF). Also habe ich ein paar Debugging gemacht und festgestellt, dass Inline Bilder über Content-Type: multipart/related
gesendet werden sollten.
Also ich änderte Content-Type: multipart/mixed
zu Content-Type: multipart/related
und Thunderbird zeigte es richtig: Das Bild wird in HTML und einem Anhang angezeigt, das PDF wird angezeigt.
Ich bin nicht sicher, ob dies die richtige Lösung ist, obwohl es scheint zu funktionieren. Ist es korrekt, immer multipart/related
zu verwenden (wenn ich Inline- und Nicht-Inline-Anhänge habe, falls ich nur Inline-Anhänge habe und wenn ich nur Nicht-Inline-Anhänge habe)?
Oder ist der richtige Weg, eine Grenze des Typs zu verwenden, um die Inline-Anhänge zu teilen und eine andere Grenze des Typs gemischt, um die Nicht-Inline-Anhänge zu teilen?
Ich hoffe, dass Sie mir eine Probe für
- E-Mail mit Inline nur Anhängen zur Verfügung stellen können
- E-Mail mit nicht-inline nur Anhängen
- E-Mail mit Inline-und Nicht-Inline-Anhängen
ich eine Antwort schrieb auf eine ähnliche Frage und erstellt ein ascii art um den answert zu erklären: http://stackoverflow.com/a/40420648/633961 – guettli