HowTo:EMail Template
Einrichten der Email-Konfiguration
ACHTUNG: ab V1.0.10
Die Email Vorlagen liegen im tempates/_core/mail Verzeichnis
Wenn Du eines dieser Templates verändern möchtes, so kopiere es in das entsprechende Verzeichnis in Deinem Template-Ordner!
Für jede mögliche Email gibt es zwei verschiedene Templates, ein Text-Template und ein HTML-Template. Das Text-Template kann die folgenden Kopfzeilen enthalten, Kursiv geschriebene Werte sind hierbei optional:
- SUBJECT: Betreff der Email
- TO: "Klartext-Name" <email-adresse>
- FROM: "Klartext-Name" <email-adresse>
- REPLY: "Klartext-Name" <email-adresse>
- CC: "Klartext-Name" <email-adresse>
- BCC: "Klartext-Name" <email-adresse>
- ATTACHMENT: <Dateiname> Angezeigter_Name
Referenzen in HTML Dateien kann man entweder als Datei oder als HTML Referenz angeben. Gibt man diese als Datei an so wird die Datei als Inline-Attachment mit der EMail verschickt - es werden als Bilder beim Öffnen der EMail nicht von extern nachgeladen.
Angabe der Referenz auf das ShopLogo im aktuellen Template:
als Datei: <img src="{$tpl_path}img/logo.gif">
als Web-Link: <img src="http://...">
Diese Zeilen müssen am Anfang der TEXT-Version (hinter dem Kommentar /* ... */ der jeweiligen Email) definiert werden, und zwar je Zeile ein Feld.
Der Vorteil bei den Angaben im Template ist, dass diese nun sprachgesteuert angegeben werden können. Natürlich hätte man diese Angaben auch im Admin-Backend belassen können - aber dann wäre es ja noch umfangreicher gewesen, da man alles Sprachabhängig hätte eingeben müssen.
Smarty-Plugin: template_include
Es wurde ein Smarty-Plugin realisiert um innerhalb eines Templates leicht ein weiteres Email-Template einzulesen. Dies kann z.B. genutzt werden um eine Signatur einzufügen. Der Code im Template dazu sieht wie folgt aus:
{template_include file="signature.txt"}
Gesucht wird die Datei signature.txt dann in den folgenden Verzeichnissen, wobei er, wenn er eine Datei gefunden hat, aufhört zu suchen:
- templates/DeineVorlage/mail/Sprache/
- templates/DeineVorlage/mail/
- templates/_core/mail/Sprache/
- templates/_core/mail/
Es sind also sowohl sprachabhängige als auch -unabhängige Vorlagen möglich.
Kopfzeilen der Text-Datei
- SUBJECT
- Die Angabe vom SUBJECT ist zwingend vorgeschrieben, alle anderen Angaben sind optional.
- TO optional
- Angabe des Empfängers der EMail. Kann mehrfach angegeben werden wenn die EMail an mehrere Empfänger gehen soll.
- Default-Werte
- Die Default-Werte wurden beim Aufruf der mail_template Klasse übergeben.
- Wenn ein TO angegeben wird wird der Default-Wert überschrieben. Wenn zusätzlich die EMail erhalten soll so ist er erneut als "TO:" anzugeben.
- FROM optional
- Angabe des Absenders den der Empfänger der Email sieht.
- Default-Werte
- Klartext-Name: ShopName
- <email-adresse> Wert von Konfiguration/Mein-Shop/Email_von
- REPLY optional
- Optionale Angabe des Antwort-Empfängers (Reply-To). Die Angabe dieses Wertes ist sinnvoll wenn der Server Emails nur über einen bestimmten account verschicken kann, Kundenantworten zu diesem Thema aber in einer anderen InBox landen sollen.
- Der Klartext-Name muß in Anführungszeichen stehen, die EMail eingeschlossen in spitzen Klammern
- Beispiel: REPLY "John Doe" <john.doe@demo.webs.de>
- CC optional
- Angabe von Email-Empfängern die diese Email immer als Kopie erhalten sollen.
- Format & Beispiel entsprechend REPLY
- BCC optional
- Angabe von Email-Empfängern die diese Email immer als Blindkopie erhalten sollen.
- Format & Beispiel entsprechend REPLY
- ATTACHMENT optional
- Angabe von Dateien die mit der Email verschickt werden sollen, z.B. PDF-Dokumente o.ä.
- Die Datei wird nacheinander in den folgenden Vereichnissen gesucht - die zuerst gefundene wird benutzt:
- templates/DeineVorlage/mail/Sprache/attachment
- templates/DeineVorlage/mail/attachment
- templates/_core/mail/Sprache/attachment
- templates/_core/mail/attachment
Bilder in der HTML-Datei
Es gibt zwei unterschiedliche Möglichkeiten Bilder in einer HTML-EMail zu integerieren:
- eingebettete Bilder
- Die Bilder werden mit der Email verschickt und Angezeigt
- Vorteile
- Kein nachladen des Bildes von einer externen URL
- Nachteile
- Bei großen/vielen Bildern wird die Email schnell recht groß
- Manche SPAM-Filter erhöhen dadurch das Ranking, da auch Werbung über solche Bilderchen verschickt wird.
- Angabe im Tempalte:
<img src="templates/deinTemplate/pfad/zur/Bilddatei" alt="" />
- externe Referenz
- Die Bilder werden von einem Webserver nachgeladen.
- Vorteile
- Die verschicke Email ist kleiner
- SPAM-Filter sind da nicht so aggressiv gegen
- Nachteile
- Der User muss beim Aufruf der EMail auf das nachladen der Bildinformationen warten.
- Manche User erlauben das nachladen von Bildern bei HTML-Emails nicht.
- Angabe im Tempalte:
<img src="http://example.com/templates/deinTemplate/pfad/zur/Bilddatei" alt="" />
Vorlagen Funktion: template_include
Über die Vorlagen Funktion template_include kann man die benötigte Datei ermitteln, hierbei wird in den folgenden Verzeichnissen gesucht:
- templates/DeineVorlage/mail/Sprache
- templates/DeineVorlage/mail
- templates/_core/mail/Sprache
- templates/_core/mail/
Alle EMail Vorlagen benutzen in der HTML-Variante das logo.png welches eingebettet verschickt wird. Hierfür befindet sich in den *.tpl Dateien folgender Code:
<img src="{template_include file="logo.png" fetch=false} alt="Logo" />
Der Parameter fetch=false bewirkt dabei das lediglich der Pfad zum Bild ermittelt und zurückgegeben wird. Da hier kein http:// vorgestellt wurde wird dieses Bild mit der Email verschickt.
Möchtest Du nun das Logo ändern so speichere Dein Logo unter /templates/DeineVorlage/mail/logo.png. Wenn Du ein Logo benutzt welches sprachabhängige Informationen beinhaltet, so speichere es im entsprechenden Sprachverzeichnis /templates/deineVorlage/mail/Sprache/logo.png
Verzeichnisstruktur
- templates/_core/mail
- sprachunabhängig Vorlagen
- templates/_core/mail/attachment
- sprachunabhängige Anhänge & Bilder
- templates/_core/mail/Sprache
- Emails in der jeweiligen Sprache
- templates/_core/mail/Sprache/attachment
- sprachabhängige Anhänge & Bilder
Backend - Newsletter
Über die Verwaltungsoberfläche hat man die Möglichkeit, Emails direkt an die Kunden zu schicken. Entweder an einzelne Kunden, eine Kundengruppe oder an die Empfänger des Infobriefs. Bisher war es hier nicht möglich die Kunden Individuell anzusprechen, da der Text nicht weiter "verarbeitet" wurde. Durch die Umstellung auf Smarty EMail Vorlagen gibt es nun auch hier die Möglichkeit die Kunden individuell anzuprechen. Hierfür kann man auf die entsprechenden Smarty Variablen zugreifen: - customer.gender - customer.firstname - customer.lastname - customer.email
Eine persönliche Anrede könnte somit wie folgt codiert werden:
Sehr geehrte{if $customer.gender=='m'}r Herr{else} Frau{/if} {$customer.lastname}
Bei der Vorschau des Newsletter sieht man die Text-Version der Nachricht, also ohne Formatierungen!
Hinweis zum Update
Die Email-Templates befinden sich in dem folgenden Verzeichnis:
- templates/*/admin/mail/sprache/
Der Update-Prozess wird die neuen Email-Templates im templates/_core Verzeichnis installieren und versuchen die vorhandenen Email-Templates in das entsprechende Template-Verzeichnis zu verschieben.
gelöschte Konstanten
Wenn Du eigene Erweiterungen implementiert hast, so prüfe daß nicht eine der folgenden Konstanten verwendet wurde:
- EMAIL_EMBED_IMAGES
- CONTACT_US_EMAIL_ADDRESS
- CONTACT_US_EMAIL_SUBJECT
- EMAIL_SUPPORT_ADDRESS
- EMAIL_SUPPORT_NAME
- EMAIL_SUPPORT_REPLY_ADDRESS
- EMAIL_SUPPORT_REPLY_ADDRESS_NAME
- EMAIL_SUPPORT_SUBJECT
- EMAIL_SUPPORT_FORWARDING_STRING
- EMAIL_BILLING_ADDRESS
- EMAIL_BILLING_NAME
- EMAIL_BILLING_REPLY_ADDRESS
- EMAIL_BILLING_REPLY_ADDRESS_NAME
- EMAIL_BILLING_SUBJECT
- EMAIL_BILLING_FORWARDING_STRING
- EMAIL_BILLING_SUBJECT_ORDER
Noch offen
- Ob eine Modifikation des Templates stattfindet steht noch nicht fest.
Weitere HowTo's...