Chris (C): html emails vermeiden!

Beitrag lesen

Hi Selferaußen,

ich habe es heute gerade für meinen Chef fertig gemacht - fast jedenfalls.

Habe da keine Probleme mit der Darstellung bisher. Das Problem sind die Referenz-Calls: <img src...> für Bilder, <link rel...> für CSS, <script src...> für Javascript. Das sind wohl die wichtigsten.

Ich habe da eine Funktion programmiert, der ein Array mit den Daten übergeben wird. Im wensentlichen sind das die Versanddaten (Empfänger, Absender, Subject), eine plaintext-Info, der Name der zu versendenen HTML-Datei oder die Daten selbst, Attachment-Path oder die Daten selbst.

Einuiges Problem sind die Mime-Types für Attachments, die nur über den Pfad angegeben werden.

Es ergibt sich eine geschachtelte Mailstruktur in drei Ebenen.

multipart/mixed
+----------------------
|  multipart/related
|    subtyp multipart/alternative
|  +--------------------
|  |  multipart/alternative
|  |  +-----------------
|  |  | text/plain
|  |  +-----------------
|  |  | text/html
|  |  +-----------------
|  +--------------------
|  |  image/... (related data)
|  +--------------------
+-----------------------
|  application/octet-stream
+-----------------------

So klappt das mit den Mails.
Man muss halt die RelationCalls finden im HTML-Text, laden, aufbereiten, die File-Referenzen (Pfade) gegen CID-Marker austauxchen und die aufbereiteten Daten im image-Teil (related data) abspeichern.

Die gesamte Funktion wird dann so um die 500 Zeilen haben.

Arbeitsaufwand inclusive Recherche, Planung, Versuchen, Verzweiflung und Erfolg ca. 4-5 Tage. Also ca. 2.500 Euro Selbstkosten.

Ich vertrete übrigens nicht diesen antiquierten Standpunkt, dass Mails nur auf 64 verschiedenen Zeichen beruhen sollten. Telefonleitungen waren anfangs auch nur zum Telefonieren gedacht. Inzwischen macht man DFÜ, Fax, Internet darüber. Bleibt mir also bitte mit dieser Museumsmeinung vom Halse.

Es gibt durchaus Anwendungsfälle, bei denen die komplette Übertragung aller benötigten Daten in einem integrierten Format sinnvoll ist. Wie sollte man solche Schriftstücke sonst offline lesen? Natürlich gibt es Informtionsbereiche, bei denen die plaintest-Mail noch ihre Berechtigung hat.

Liebe Grüße

Chris (C)