Sie können alternativ zum Vorlagenkatalog auch E-Mail Vorlagen als XML Dateien anlegen. Diese können in folgenden Pfaden liegen:
site/<Mandant>/<Seitentyp>/admin/template.<Bezeichnung>.xml > Für diesen Mandanten, für diesen Seitentyp
site/<Mandant>/admin/template.<Bezeichnung>.xml > Für diesen Mandanten, für alle Seitentypen
site/_global/<Seitentyp>/admin/template.<Bezeichnung>.xml > Für alle Mandanten, für diesen Seitentyp
site/_global/admin/template.<Bezeichnung>.xml > Für alle Mandanten, für alle Seitentypen
Sie können die Bezeichnung auch um .<Sprache> erweitern und so eine Vorlage nur für diese Sprache verfügbar machen (z.B. template.test.de.xml).
In dieser XML Datei können Sie den Absender, die Standard Empfänger und natürlich das HTML des Templates definieren. Eine beispielhafte XML Datei sieht so aus:
<?xml version="1.0" encoding="utf-8"?>
<template>
<sender>noreply@egotec.com</sender>
<recipient>
<default>support@egotec.com</default>
<default>test@egotec.com</default>
<cc>foobar@egotec.com></cc>
<bcc>info@egotec.com</bcc>
</recipient>
<content><![CDATA[Hallo Welt]]></content>
</template>
Folgende Elemente stehen Ihnen zur Verfügung:
- sender: Die E-Mail Adresse des Absenders (optional).
- recipient: Die E-Mail Adressen der Empfänger (optional, es können von jedem Empfänger Typ auch mehrere angegeben werden).
- default: Normaler Empfänger.
- cc: Empfänger als Kopie.
- bcc: Empfänger als blinde Kopie.
- content: Das HTML des Templates.
Es wird empfohlen für den Inhalt der Elemente <![CDATA[...]]> Klammern zu verwenden. Zumindest für das content Element sind diese notwendig.
Die aus XML Dateien generierten E-Mails sind immer HTML E-Mails.
Verwenden Sie als Entwickler diese Möglichkeit um in PHP E-Mails zu versenden, den Inhalt dieser E-Mails aber flexibel und auch übersetzbar gestalten zu können. Mit folgendem Code können Sie in PHP eine E-Mail mit einem XML Template versenden:
require_once('base/template/Ego_Template_Mail.php');
$template = new Ego_Template_Mail('file:site/demo/admin/template.test.xml');
... // Eventuell Empfänger hinzufügen, Platzhalter setzen, etc.
$template->send();