Das Open-Source-System im Zusammenspiel mit TYPO3: Professionelles E-Mail-Marketing mit OpenEMM
OpenEMM heißt
die Open-Source-Variante der kommerziellen E-Mail-Marketing-Software
„E-Marketing Manager“ (EMM) der Agnitas AG. Das Programm wird
unter der Mozilla Public License (MPL) angeboten und steht auf der
OpenEMM-Website in deutscher und englischer Sprache zum kostenlosen
Download bereit. Die Applikation bietet ein vergleichbares
Leistungsspektrum wie die Basisversion des EMM. Wesentlicher
Unterschied ist, dass es sich beim OpenEMM um eine
Single-Server-Version handelt, das heißt alle Komponenten
laufen auf einem einzigen Server, was die Versandkapazität
entsprechend beschränkt. Das Versenden von einigen 10.000
E-Mails pro Tag ist mit einer aktuellen Server-Hardware jedoch kein
Problem.
Mit OpenEMM lassen sich komplexe
E-Mail-Marketing-Kampagnen benutzerfreundlich aufsetzen, durchführen,
verwalten und auswerten. Die Stärken des Systems sind die
zielgruppenspezifische Ansprache, das Kampagnen-Management und
Echtzeit-Tracking-Tools. Außerdem fügt es sich nahtlos in
die bestehende IT-Infrastruktur ein und setzt auf bewährte
Open-Source-Produkte wie MySQL, Java, Resin und Sendmail auf. Auf
SourceForge zählt OpenEMM seit dem Start mit einem
Aktivitätsindex von konstant über 99 Prozent zu den
beliebtesten Projekten.
OpenEMM läuft auf
Betriebssystemen wie beispielsweise Linux, FreeBSD und OpenSolaris.
Mit einer speziellen VMware-Version für den VMplayer steht es
auch Windows-Anwendern zur Verfügung. Eine RPM-Datei ermöglicht
die Installation auf RedHat Linux und kompatiblen Distributionen wie
CentOS. Für alle anderen Distributionen wird ein Tarball
angeboten. Die Installationsanleitung [1] geht speziell auf RedHat-,
Fedora-Core- und Suse- beziehungsweise OpenSuse-Distributionen ein.
In den FAQs und Foren zur OpenEMM-Website finden Sie jedoch auch
Hinweise für andere Distributionen wie Debian und verschiedene
Unix-Derivate wie OpenSolaris. Ein DocuWiki wird in Zukunft der
OpenEMM-Community erlauben, interaktiv die Dokumentation zu OpenEMM
zu ergänzen und um Beiträge zu erweitern.
Der OpenEMM-Newsletter lässt sich
in eine Typo3-Website integrieren, was praktische Vorteile hat, denn
das Design der Website muss dadurch nicht umständlich in OpenEMM
nachgebildet werden.
Die Anmeldung
Das
Anmeldeformular für den Newsletter sieht folgendermaßen
aus:
<form name="subform" method="post" action="http://www.openemm.org:8080/form.do" onSubmit="return check();"> <input type="hidden" name="agnCI" value="1"> <input type="hidden" name="agnFN" value="subscribe"> <input type="hidden" name="agnSUBSCRIBE" value="1"> <input type="hidden" name="agnMAILINGLIST" value="1"> <table border="0" cellspacing="1" cellpadding="1"> <tr><td>Gender:</td><td> <input type="radio" name="gender" value="0" checked /> Mr. <input type="radio" name="GENDER" value="1" /> Mrs. </td></tr> <tr><td>First Name:</td><td><input type="text" class="inputtype" name="firstname" maxlength="60" /></td></tr> <tr><td>Last Name: </td><td><input type="text" class="inputtype" name="lastname" maxlength="60" /></td></tr> <tr><td>Company:</td><td><input type="text" class="inputtype" name="company" maxlength="80" /></td></tr> <tr><td>Country:</td><td><input type="text" class="inputtype" name="country" maxlength="80" /></td></tr> <tr><td>E-Mail:</td><td><input type="text" class="inputtype" name="EMAIL" maxlength="80" /></td></tr> <tr><td>E-Mail Type:</td><td><input type="radio" name="mailtype" value="0" /> Text</td></tr> <tr><td> </td><td><input type="radio" name="mailtype" value="1" checked /> HTML</td></tr> <tr><td> </td><td><input type="radio" name="mailtype" value="2" /> Inline HTML*</td></tr> <tr><td> </td><td><input type="submit" class="inputsubmit" name="submit" value="Subscribe now!" /></td></tr> </table> </form>
Listing 1
Der
Newsletter verwendet zur Anmeldung das Double-Opt-in-Verfahren als
rechtlich sichere Lösung (siehe Listing 1). Über die in
diesem Fall ausgelagerte JavaScript-Funktion „check“ können
die vom Nutzer eingegebenen Feldinhalte auf Plausibilität und
Validität überprüft werden. Das Anmeldeformular ruft
das Formular „subscribe“ (agnFN=„subscribe“) auf, das
- eine
erste Aktion „Subscription Registration Request“ ausführt,
die aus dem Aktionsschritt „Subscribe“ und einer aktivierten
Checkbox „Use double-opt-in“ besteht, - per
Redirect-Code eine Webseite aufruft, die den Abonnenten zur
Bestätigung auffordert (www.openemm.org/subscribe.html) und - eine
abschließende Aktion „Subscription Confirmation Request“
ausführt, die aus dem Schritt „Send mailing“ besteht.
Der dritte Schritt versendet ein
aktionsbasiertes Mailing, das den Empfänger über einen Link
mit folgender Syntax um die Bestätigung des Anmeldeprozesses bittet:
http://www.openemm.org:8080/form.do?agnCI=1&agnFN=subconfirm&agnUID=##AGNUID##
Listing 2
Der
Bestätigungslink ruft das Formular „subconfirm“ auf, das
- eine
Aktion „Subscription Confirmation“ ausführt, die aus dem
ersten Aktionsschritt „Double-Opt-In confirmation“ und dem
zweiten Schritt „Send mailing“ besteht (der dem Empfänger
die erfolgreiche Anmeldung bestätigt) und - per
Redirect-Code die Anmeldebestätigungsseite aufruft (www.openemm.org/subconfirm.html).
Die
Abmeldung
Jede E-Mail sollte am Ende einen Abmeldelink enthalten:
http://www.openemm.org:8080/form.do?agnCI=1&agnFN=unsubscribe&agnUID=##AGNUID##
Listing 3
Die Abmeldung vom
Newsletter erfolgt durch einen einfachen Klick auf den
Abmeldelink, wodurch das
Formular „unsubscribe“
aufgerufen wird, das
- die Aktion „Unsubscription Load Profile Data“ ausführt, die aus dem Aktionsschritt „Load customer record“ besteht und
- per Redirect-Code (Listing 4) die Abmeldeseite aufruft und in der URL die Abonnenten-ID übergibt.
<html><head> <title></title> <meta http-equiv="refresh" content="0; URL=http://www.openemm.org/unsubscribe.html?agnUID=$!agnUID"> </head></html>
Listing 4
Diese wird vom Webformular der Abmeldeseite ausgelesen:
<script type="text/javascript"> uid = location.search; uid = unescape(uid.substring(8)); </script> <form name="unsubform" action="http://www.openemm.org:8080/form.do" method="post" onSubmit="document.getElementById('param').value = uid;"> <input type="hidden" name="agnCI" value="1"> <input type="hidden" name="agnFN" value="unsubconfirm"> <input type="hidden" name="agnUID" id="param" value=test> <input type="submit" class="inputsubmit" value="Unsubscribe"> </form>
Listing 5
Das
Webformular der Abmeldeseite ruft das OpenEMM-Formular „unsubconfirm“
auf, das
- eine erste Aktion „Unsubscription Processing“ ausführt, die aus dem Aktionsschritt „Unsubscribe“ besteht (der die Abmeldung in der Datenbank vornimmt)
- per Redirect-Code die Abmeldebestätigungsseite aufruft (www.openemm.org/unsubconfirm.html) und
- eine abschließende Aktion „Unsubscription Confirmation“ ausführt, die per „Send mailing“ dem Empfänger die erfolgreiche Abmeldung bestätigt.
Die
Verlagerung der Webformulare aus OpenEMM über den Redirect-Code
in TYPO3 hat den Vorteil, dass in OpenEMM nicht das komplette Design
der Website nachgebildet werden muss, sondern dass sich alle Inhalte
weiterhin in TYPO3 befinden. Eine Ausnahme
bildet der Aufruf der Profilseite, über die der Abonnent sein
Empfängerprofil selbst ändern kann. Die Profilseite muss
aus technischen Gründen in OpenEMM abgelegt sein.
http://www.openemm.org:8080/form.do?agnCI=1&agnFN=change&agnUID=##AGNUID##
Listing 6
Der Profillink in Listing 6 ruft
das Formular „change“ auf, das
- eine
Aktion „Change Load
Profile Data“ ausführt,
die aus dem Schritt „Load
customer record“
besteht und - die
Profilseite mit dem Profilformular anzeigt (Listing 6 zeigt Beispiele für die Codierung von Feldern im Profilformular).
Das
weitere Vorgehen zum Thema Profilseiten erläutert die
ausführliche OpenEMM-Dokumentation [2].
E-Mail: <input type="text" class="inputtype" name="email" value="$customerData.email" maxlength="80" /><br> E-Mail Type: <input type="radio" name="mailtype" value="0" #if($customerData.mailtype == "0") checked #end /> Text<br> <input type="radio" name="mailtype" value="1" #if($customerData.mailtype == "1") checked #end /> HTML<br>
Listing 7