Eigenen Kunden einen Newsletter bereitstellen

Ein Newsletter stellt eine Art elektronisches Rundschreiben dar. Interessenten, die sich zuvor freiwillig angemeldet haben, erhalten ab und zu Mails zu speziellen Themen. Wesentlich ist die Möglichkeit, sich freiwillig und anonym beim Newsletter anzumelden und sich ebenso wieder abmelden zu können. Da eine einfache Anmeldung leicht mißbraucht werden kann (ich trage Ihre Mailadresse in ein Newsletter-Feld ein), erfordert die Bereitstellung einer Newsletter-Verwaltung das Double-Opt-In-Verfahren: Ein Interessent trägt seine Mailadresse ein. Anschließend wird ihm ein einmaliger Zufallsschlüssel an seine Mailadresse zugesandt. Erst wenn er diesen Schlüssel erneut auf der Website einträgt, wird seine Mailadresse für den Newsletter freigeschaltet. Damit kann ich zwar Ihre Mailadresse bei einer Newsletter-Anmeldung eintragen. Daraufhin erhalten Sie eine einmalige Mail, die Sie löschen - und keine weitere Mail.

Kunden von server-daten können auf einfache Weise für ihre eigenen Kunden eine Newsletter-Funktionalität bereitstellen. Fünf Dinge sind notwendig:

  • Eine Tabelle vom Typ newsletter-mails: Sie enthält später die Mails, an welche der Newsletter versandt wird
  • Eine Tabelle mit den eigentlichen Newsletter-Einträgen
  • Eine Ausgabeseite newsletter-subscribe.html, die ein Feld für die Mailadresse bereitstellt. Beim Absenden wird die Mailadresse in die Newsletter-Mail-Tabelle eingetragen, ein Zufallsschlüssel zum Bestätigen und Abmelden erzeugt und eine Mail mit diesem Schlüssel an die angegebene Adresse versandt. Die Bestätigungsmail wird innerhalb dieser Ausgabeseite mithilfe des sd:mail -Elements bereitgestellt.
  • Eine Ausgabeseite newsletter-confirm.html, die ein Feld für den Bestätigungsschlüssel bereitstellt. Diese Seite sollte in der Bestätigungsmail aufgeführt werden, damit der Interessent sofort die Seite findet.
  • Eine Ausgabeseite newsletter-unsubscribe.html mit einem Feld für den Bestätigungsschlüssel. Diese Ausgabeseite dient zur Abmeldung vom Newsletter.
Für die Erstellung der Tabellen genügt es, im Menü 3: Tabellen je eine Tabelle vom Typ 'Newsletter-Mails' sowie 'Newsletter' zu erstellen. Es muß nur ein Tabellenname und der Typ festgelegt werden. Anschließend sind die Tabellen sofort zu speichern. Die Spalten werden automatisch mit vorgegebenen Namen erstellt und können nicht verändert werden. Damit ist bsp. sichergestellt, daß die Eintragung immer anonym erfolgen kann und keine weiteren Daten erhoben werden. Für Tabellen vom Typ 'Newsletter-Mails' gilt zusätzlich, daß ihre Einträge nicht manuell hinzugefügt oder bearbeitet, sondern höchstens gelöscht werden können. Ein Berechtigungssatz muß für die Bereitstellung der Anmelde-, Bestätigungs- und Abmeldefunktionalität nicht erzeugt werden.

Code für die Anmeldeseite

Der folgende Code genügt, um eine Anmeldeseite bereitzustellen:
<!-- Mail, die nach der Anmeldung versandt wird -->
<sd:mail sd:name="myMail" sd:mail-address-column="mail">
  <sd:choose-lang>
    <!-- sd:info wird als Betreff/Subject verwendet -->
    <sd:span
      sd:info="Ihre Anmeldung beim Newsletter sql-und-xml.de/server-daten.de">
Guten Tag!

Ihre Mailadresse wurde für die Anmeldung beim Newsletter von
www.sql-und-xml.de / www.server-daten.de genutzt.

Falls Sie diese Anmeldung bestätigen möchten, wechseln Sie
bitte zur Seite

https://beispiel.server-daten.de/newsletter-confirm.html

und kopieren den folgenden Schlüssel in das dortige Feld:

{4}

Dies schaltet Sie für den nächsten Newsletter frei.

Sie können den Newsletter jederzeit abbestellen. Gehen Sie zur Seite

https://beispiel.server-daten.de/newsletter-unsubscribe.html

und geben Sie dort den per Mail erhaltenen Schlüssel ein.

Falls Sie sich angemeldet haben, so erhalten Sie den Schlüssel zum
Abmelden, indem Sie sich mit derselben Mailadresse erneut anmelden.

Vielen Dank!

JA

----
Disclaimer
    </sd:span>
  </sd:choose-lang>
</sd:mail>

<!-- sd:system-interaction-Element vom Typ newsletter-subscribe
  Hier müssen zusätzlich die Tabelle mit den Mails und der Name
  der zu versendenden Mail angegeben werden -->
<sd:system-interaction sd:name="myNewsLetterForm"
  sd:interaction-type="newsletter-subscribe"
  sd:newsletter-table="newsletter_mails"
  sd:mail-name="myMail" sd:with-error="1">

  <sd:start>
    <h1 class="sd-header">Ihre Anmeldung zum Newsletter von
      sql-und-xml.de / server-daten.de</h1>
    Ihre Mail: <sd:input-identifier
      size="60px" sd:input-type="mail" />
    <p />
    <div class="sd-button-list">
      <span style="padding:0;">
        <sd:button sd:name="myButton"
          sd:only-save="true">
          <sd:label-save>Anmelden</sd:label-save>
        </sd:button>
      </span>
    </div>
    <p />
    <sd:err-message />
  </sd:start>

  <!-- Diese Meldung erscheint nach dem erfolgreichen Speichern -->
  <sd:success>
    <h3 class="sd-header">Vielen Dank für Ihre Anmeldung</h3>
      Sie werden in Kürze eine Mail erhalten, um Ihre Anmeldung zu bestätigen.
      <p />
      Wechseln Sie bitte zur folgenden Seite:
      <p />
      <a> href='/newsletter-confirm.html'>newsletter-confirm.html</a>
      Dort kopieren Sie den per Mail erhaltenen Schlüssel in das Feld.
  </sd:success>
</sd:system-interaction>
Man sieht: Im wesentlichen müssen nur die Mail über das sd:mail -Element sowie das sd:system-interaction -Element für die Grundfunktionalität bereitgestellt werden.

Code für die Bestätigungsseite

Eine Bestätigungsseite benötigt nur ein passendes sd:system-interaction -Element:
<sd:system-interaction sd:name="myNewsLetterForm" sd:interaction-type="newsletter-confirm"
  sd:newsletter-table="newsletter_mails" sd:with-error="1">
  <sd:start>
    <h1 class="sd-header">Ihre Anmelde-Bestätigung zum Newsletter
      von sql-und-xml.de / server-daten.de</h1>
    Kopieren Sie den Schlüssel, der Ihnen an Ihre Mail gesandt wurde,
    in das folgende Feld:
    <p />
    <sd:input-identifier style="width:300px;" sd:input-type="identifier" />
    <p />
    <div class="sd-button-list">
      <span style="padding:0;">
        <sd:button sd:name="myButton"
          sd:only-save="true">
          <sd:label-save>Bestätigen</sd:label-save>
        </sd:button>
      </span>
    </div>
    <p />
      <sd:err-message />
  </sd:start>

  <sd:success>
    <h3 class="sd-header">Vielen Dank für die Bestätigung
      Ihrer Anmeldung</h3>
    Der nächste Newsletter wird Sie - wie gewünscht - erreichen.
  </sd:success>
</sd:system-interaction>

Code für die Abmeldung

Der Abmeldecode ist ähnlich einfach wie der Code zur Bestätigung:
<sd:system-interaction sd:name="myNewsLetterForm"
  sd:interaction-type="newsletter-unsubscribe"
  sd:newsletter-table="newsletter_mails"
  sd:with-error="1">

  <sd:start>
    <h1 class="sd-header">Ihre Abmeldung vom Newsletter für
      sql-und-xml.de / server-daten.de</h1>
    Kopieren Sie den Schlüssel zu Ihrem Abonement in das folgende Feld:
    <p />
    <sd:input-identifier style="width:300px;"
      sd:input-type="identifier" />
    <p />
    <div class="sd-button-list">
      <span style="padding:0;">
        <sd:button sd:name="myButton" sd:source="sample-input"
          sd:only-save="true">
          <sd:label-save>Bestätigen</sd:label-save>
        </sd:button>
      </span>
    </div>
    <p />
    <sd:err-message />
  </sd:start>

  <sd:success>
    <h3 class="sd-header">Ihre Mailadresse wurde aus dem Verteiler gelöscht.</h3>
    Der nächste Newsletter wird Sie - wie gewünscht - nicht mehr erreichen.
  </sd:success>
</sd:system-interaction>

Verwendung

Erstellen Sie drei Ausgabeseiten mit passenden Namen. Anschließend kopieren Sie die obigen Codebeispiele in den body-Abschnitt dieser Seiten. Die Namen der Newsletter-Tabellen ändern Sie auf den Namen Ihrer eigenen Tabelle. Ferner können Sie die Begrüßungsmail gemäß Ihren eigenen Wünschen ändern und um einen eigenen Disclaimer ergänzen.

Einbindung des Anmeldeformulars von einer anderen Domain

Der Newsletter der hiesigen Domain basiert ebenfalls auf dieser Logik. Um den aufrufenden Code in der Html-Seite einer anderen Domain einzubauen, genügt es, die nach dem obigen Muster erstellte Seite für die Anmeldung einmal aufzurufen und in den Quelltext zu blicken. Dort gibt es ein <form> - Element mit dem fixierten Namen '_si_Form': Kopieren Sie dieses Element mit allen Unterelementen und dem schließenden </form> - Element und fügen Sie diesen gesamten Code in Ihre eigene Seite ein. Ferner ist es notwendig, den benötigten JavaScript-Code mit der folgenden Anweisung im <head>-Abschnitt der Seite einzubinden:
<script type="text/javascript" src="https://beispiel.server-daten.de/admin/sd.js"> </script>
Sie können statt der Subdomain 'beispiel' auch 'www' oder Ihre eigene Subdomain verwenden.

Die Newsletter-Erstellung

Ein Newsletter stellt einen Eintrag in einer Tabelle vom Typ 'Newsletter' dar. Jedem Eintrag ist eine Tabelle vom Typ 'Newsletter-Mails' zugeordnet. An alle in dieser Tabelle freigeschalteten Mails wird der Newsletter versandt. Damit können verschiedene Einträge derselben Newsletter-Tabelle über verschiedene Newsletter-Verteiler versandt werden. Ferner ist jedem Newsletter ein Versanddatum zugeordnet. Zu diesem Datum wird einmalig ein Job ausgeführt, der für das eigentliche Versenden zuständig ist. Anschließend kann diese Zeile kein zweites Mal mehr verschickt werden.


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2018 Jürgen Auer, Berlin.