HTML-Mails und CtxDocEdit

Der Versand von benutzerdefinierten E-Mails ist häufig Bestandteil von Applikationen. Dabei will der Benutzer oft auch die Möglichkeiten von Rich-Text nutzen (Formatierung, Schriften, Bilder etc.) ohne auf externe Editoren angewiesen zu sein. Wie dies in der Version 5.6 realisiert werden kann, soll der folgende Beitrag aufzeigen.


Dokument erstellen und speichern

Das Dokument wird zunächst wie gewohnt mit Hilfe des CtxDocEdit-Objekts erstellt. Bei der Verwendung unterschiedlicher Schriften ist zu berücksichtigen, das diese oft nicht auf dem System des Mailempfängers installiert sind – zwangsläufig führt dies dann zu einem abweichenden Erscheinungsbild des Textes.

Im ersten Schritt wird das Dokument komplett (inklusive aller eingebetten Bilder) als externe Datei im internen Format gespeichert und wieder in das CtxDocEdit geladen. Damit haben alle Bilder eine einheitliche Quelle, die für den zweiten Schritt notwendig ist.

Jetzt wird die Speichereigenschaft des Dokuments und aller enthaltenen Bilder auf separate Speicherung geändert und das Dokument verteilt auf mehrere Dateien erneut in einem eigenen Verzeichnis im HTML-Format gespeichert.

Eine weitere Speicherung erfolgt im Plain-Text-Modus, um eine Textmode-kompatible E-Mail generieren zu können.

HTML-Datei aufbereiten

Die enstandene HTML-Datei ist allerdings so noch nicht für den E-Mail-Versand geeignet. Per Prozedur muss der Basispfad (<base href=...>) aus der Datei entfernt werden. Des weiteren ist die Limitierung der Textzeilen auf 78 Zeichen pro Zeile im HTML-Quelltext sicherzustellen, da für den Versand das 8-Bit-MIME-Format verwendet wird.

E-Mail generieren

Zuletzt wird die E-Mail zusammengebaut. Dabei wird zuerst die Plain-Text-Variante eingesetzt, falls der Empfänger kein HTML darstellen kann:

tHdl->MailData(_MailFile | _MimeTE_QP,...);

Anschließend folgt die HTML-Datei:

tHdl->MailData(_MailFile | _MimeTextHtml | _MimeTE_8B | _MimeCS_UTF8,...);

Zum Schluß werden alle Bilder aus dem Speicherverzeichnis eingefügt (Beispiel für JPEG):

tHdl->MailData(_MailFile | _MimeTE_B64 | _MimeImageJPEG | _MimeRelated,...);

Der vollständige Code ist in der Codelibrary 5.6.05 im CtxDocEdit-Beispiel enthalten.

Eine Antwort

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Your yeet Trial Version - request it now!

TEST yeet - NON-BINDING and FREE OF CHARGE

Deine yeet Trial Version - jetzt anfordern!

TESTE yeet - UNVERBINDLICH und KOSTENFREI

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner