Das Modul "Newsletter" ist ein einfaches Newslettersystem, ist dem sich User in verschiedene Newsletter eintragen oder austragen, Schreibberechtigte Newsletter an die User versenden können.Nachrichten werden in ein Browserformular eingegeben und mit einem Klick an alle User verschickt, die sich in den Betreffendem Kanal eingetragen haben. Es ist auch möglich, Nachrichten über mehrere Kanäle gleichzeitig zu verschicken.
Aufruf
Das Modul wird mit dem Aufruf {execmacro="newsletter"}eingebunden.
Zusätzlich kann der Kanal angegeben werden: {execmacro="newsletter" param="channel=Homepage"}.
Erlaubt sind die Werte:
nochannel: Kein Kanal, d.h. User werden dem Kanal 0 zugeordnet.
channel=Homepage: User werden den Kanal "Homepage" zugeordnet
channel=Homepage,Arzt,Common: User werden den angegebenen Kanälen zugeordnet
Allgemeine Konfiguration
Die Newsletter werden über die Datei newsletter.ini konfiguriert. Die Newsletterkanäle werden in der Syntax
channel_[fortlaufende Nummer]=[Name des Newsletter] abgelegt.
channel_0=hidden
channel_1=Homepage
channel_2=Arzt
channel_3=Apotheker
channel_4=Presse
channel_5=Common
channel_6=Computers
Der erste Kanal (channel_0) kommt zum Einsatz, wenn Sie den Newsletter ohne Kanäle betreiben wollen. Der Name lässt sich aber beliebig ändern.
Neben der eMail-Adresse können zusätzliche Eingabefelder definiert werden. Diese werden in der Syntax field_[fortlaufende Nummer]=[Name des Eingabefeldes] abgelegt.
field_1=Name
field_2=Vorname
field_3=Country
field_4=Gender
Achtung: Die hier angegebenen Felder müssen in newsletter.dat angelegt werden. Benutzen Sie dazu custdef/newsletter.def.
Weitere Optionen in der newsletter.ini
doubleoptin=1
activationtime=1
Wenn doubleoptin auf 1 steht, bedeutet das, dass der User erst noch einmal per link oder activation key die Teilnahme am Newsletter bestätigen muss. Dies soll verhindern, dass wahllos eMailadressen eingetragen werden, um deren Postfächer zu spammen. Wenn activationtime auf 1 steht, bedeutet das, dass der User eine Minute Zeit hat, um seinen Account zu aktivieren. Tut er das nicht in der gegebenen Zeit, wird sein Account automatisch gelöscht. Steht z.B. activationtime auf 5, so hat der User fünf Minuten Zeit. Die activationtime wird also in Minuten angegeben.
Die Fehlermeldungen werden ebenfalls in der newsletter.ini abgelegt
eMailAlreadyExist= Die Adresse <b>{email}</b> existiert bereits
eMailEmpty= Keine eMail-Adresse angegeben
invalidEmail= Die Adresse <b>{email}</b> ist bisher nicht registriert
timeisLeave= Die Adresse <b>{email}</b> wurde gelöscht weil die Zeit zum aktivieren überschritten wurde
newpswderr= Neue Kennwörter stimmen nicht überein
oldpswderr= Das alte Kennwort wurde nicht richtig eingegeben
eMailAlreadyExist wird zurückgegeben, wenn die eMail bereits im System eingetragen ist.
eMailEmpty wird zurückgegeben, wenn der User keine eMailadresse in das dafür vorgesehene Feld eingetragen hat.
invalidEmail wird zurückgegeben, wenn eine ungültige eMail-Adresse angegeben wird.
timeisLeave wird zurückgegeben, wenn der User sich nicht in der bei activationtime definierten Zeit angemeldet hat.
newpswderr wird zurückgegeben, wenn der User beim Passwort ändern nicht zweimal das gleiche neue Passwort eingegeben hat.
oldpswderr wird zurückgegeben, wenn das alte eingegebene Passwort nicht mit dem Passwort übereinstimmt, das für diesen Account hinterlegt ist.
Templates
Die Darstellung der eMails und der Formulare wird von Templates bestimmt. Diese können wie HTML-Seiten angepasst werden, wobei die Platzhalter eine Sonderstellung einnehmen.
Platzhalter
Alle Ausdrücke in geschweifter Klammer stehen für Platzhalter. Als Beispiel dient hier das Template account_mail:
admin@tdb.de
informer@tdb.de
Ihr Newsletter Abonnement
Mail: {eMail}
Am: {today}
Um: {now}
IP: {ip}
Gratulation!
Sie sind mit folgfenden Daten an unserem Newsletter angemeldet:
eMail: {eMail}
Kanäle: {channels}
{custfields}
Ihr Kennwort : {code}
Abmelden: {linktounsubscribe}
Einstellungen: {linktocontrol}
Hier gibt es folgende Platzhalter
{email}: eMailadresse des Users
{today}: Das aktuelle Datum
{now}: Die aktuelle Systemzeit des Servers
{ip}: Die aktuelle IP
{channels}: Die abonnierten Kanäle
{custfields} : Die in der newsletter.ini definierten Felder und deren Inhalte
{code}: Das Passwort
{linktounsubscribe}: Der Link, um sich aus dem Newsletter auszutragen
{linktocontrol}: Der Link zum Kontrollzentrum
Der Inhalt zwischen {channelinfo} und {/channelinfo}wird
nur ausgegeben, wenn der Newsletter mit Kanälen eingesetzt wird. Sonst
wird der Bereich zwischen diesen Platzhaltern gelöscht. Dadurch ist es
möglich einen Newsletter anzubieten, der auf einigen Seiten die Auswahl
von Kanälen erlaubt, auf anderen nicht.
Templates und deren Funktion:
account_mail : Mailvorlage nach Aktivierung des Accounts.
activ_mail : Mailvorlage nach erstem Anmelden.
activation : Bildschirm nach dem ersten Anmelden.
congratform : Bildschirm nach Aktivierung.
subscribe:
Anmeldebildschirm entweder zum Neu-Anmelden (oben) oder - bei
bestehender Anmeldung - zur Aktivierung und als Login in den eigenen
Useraccount (unten).
unsubscribe : Abmeldebildschirm.
pw_mail : Mailvorlage, wenn der User das Paßwort nochmals anfordert.
changeemail : Mailvorlage, wenn der User die eMail-Adresse ändert.
mail : Mailvorlage für Newsletter.
mail_html: Mailvorlage für Newsletter als HTML. Diese darf auch Bilder enthalten.
getpw : Bildschirm, der den Paßwortversand bestätigt.
email_not_found:
Nachricht, die Ausgegeben wird, wenn ein User sich sein Kennwort
zusenden lässt aber die angegebene eMail-Adresse nicht in der Datenbank
gefunden wird.
editmesg : Wenn der Anwender seine Einstellungen ändert, erhält er nach dem Speichern diese Nachricht angezeigt.
confirmemail : Falls ein Anwender seine eMail-Adresse ändert und auf den Bestätigungslink klickt, erhält er diese Nachricht am Bildschirm.
Newsletter versenden
Der Versand eines Newsletters erfolgt im Editor auf der Seite Tools. Ein Klick auf den Schriftzug Newsletterläßt
die Sendemaske erscheinen. Dort können dann Text und Überschrift in
Message und Subject (=Betreff) eingegeben werden. In den Checkboxen
wählt man dann die Kanäle aus, die die soeben eingegebene Nachricht
erhalten sollen. Mit dem Test-Button sendet man eine Testmail an sich selbst, der Submit-Button sendet den Newsletter ab.
Sie können auch Felder aus der Datenbank zur Personalisierung verwenden. Das Funktioniert genauso wie bei den Vorlagen. Im HTML-Teil, müssen allerdings Platzhalter in dieser Form angeben werden: \
Tipp:
Kanäle
lassen sich nachträglich zusammenfassen. Dazu in
Tools/Newsletter/Konfiguration den Kanälen den gleichen Namen geben und
die Checkbox rechts unter den Kanalnamen aktivieren. Beim Speichern
werden die Kanäle mit gleichen Namen dann zusammengefasst.
- Fügen Sie irgendwo im Template/login/new hinzu:
{channels}
- Fügen Sie in /login/newmail ein:
Newsletter:
-------------------------
Sie haben sich für unseren Newsletter angemeldet.
{channelinfo}
Kanäle/Themen:
{channels}
{/channelinfo}
{ifnewsletter="doubleoptin"}
{ifuser="wait"}
Vielen Dank für Ihre Anmeldung.
{elsifuser="wait"}
Bitte bestätigen Sie die Anmeldung mit folgendem Link:
{linktoactivate}
{enduser="wait"}
{elseifnewsletter="doubleoptin"}
Abmelden: {linktounsubscribe}
Einstellungen: {linktocontrol}
{endifnewsletter="doubleoptin"}
{endifnewsletter="subscribed"}
Man kann auch ein bestimmtes Feld in der Nutzerdatenbank angeben. Beispielsweise
cms_usermanagement=Newsletter
Das bedeutet, dass es ein Feld Newsletter (Boolean) in der usr_user geben muss. Beim versenden eines Newsletters bekommen alle Nutzer dort eine Mail, bei denen in diesem Feld eine 1 steht.
Bounce Handler:
Mails die nicht zugestellt werden können, werden automatisch bearbeitet und je nach Fehlerart gegebenenfalls aus der Datenbank gelöscht. Das funktioniert allerdings nur, wenn die Newsletter-Datenbank für den Newsletter benutzt wird und nicht die Benutzerdatenbank.
Um das zu benutzen muss man das newsletter.prg im Scheduler aufrufen. Einmal am Tag reicht dabei völlig. In der newsletter.ini gibt man an:
server=mailserver:110
account=Mailserveraccountname
pw=Kennwort
mailto=admin@email
Der Bounce-Handler funktioniert besser, wenn man in den verschickten Mails eine eindeutige Kennung des Empfängers "versteckt". Das mach man z.B. so:
Clicktracker
Dazu trägt man in der newsletter.ini ein:
active=1
urlprefix=http://doku.eforia.de/nll/
Opening Tracker
Dazu kann man im Newsletter das