Newsletter versenden mit Drupal

Newsletter versenden mit Drupal

Wer regelmäßig E-Mail-Newsletter an seine Kunden sendet, braucht dafür ein geeignetes Werkzeug. Neben kommerziellen Angeboten wie z.B. Mailchimp oder kostenlosen Werkzeugen wie PHPlist, gibt es auch für Drupal verschiedene Lösungen. Eine davon ist das Modul Simplenews. Mit Simplenews erstellt man seine Newsletter so wie jeden anderen Inhalt in Drupal auch. Hat man verschiedene Zielgruppen, so kann man unterschiedliche Empfängerlisten anlegen und verwalten. Natürlich gibt es die Möglichkeit, sich zu den einzelnen Listen anzumelden (Opt-In) und abzumelden (Opt-Out).


Für den Adminstrator gibt es außerdem Funktionen für den Massenimport von Empfängern und er kann das Opt-In sperren, so dass neue Empfänger nur manuell eingetragen werden können. Während die kommerziellen Dienste schnell eingerichtet sind, macht die Installation von PHPlist oder Simplenews etwas Arbeit und kann auch einmal den einen oder anderen Fallstrick beinhalten. Wir zeigen Schritt für Schritt wie es geht:


  1. Von Drupal.org lädt man sich die Module Simplenews, HTML-Mail und das PHP-Skript Emogrifier herunter (letzteres braucht man nur, wenn man Newsletter im HTML-Format versenden will. Für "Nur Text"-Newsletter genügt Simplenews alleine) und installiert diese im Module-Verzeichnis (in der Regel ../sites/all/modules). Das Emogrifier-Skript lädt man in den Ordner von HTML-Mail in ein Unterverzeichnis "emogrifier".
  2. Anschließend geht man in "Verwalten >> Strukturierung >> Module" und aktiviert beide Module. Hinweis: Das optionale Core-Modul "Taxonomy" muss ebenfalls aktiviert werden.
  3. Jetzt geht man in "Verwalten >> Einstellungen >> HTML-Mail >> Einstellungen" und aktiviert dort die vier Optionen "Zeilenumbruchkonverter", "URL Filter", "Emogrifier" und "Token Support". Unter "Template" kann man Standard HTML-Header und -Footer sowie CSS-Styles für alle HTML-Mails eintragen. Danach geht man auf "Send Test" und kann sich nun eine HTML-Testmail zuschicken lassen. Die Mail wird sofort verschickt und nicht erst beim nächsten Cron-Lauf. Kommt diese an, ist alles richtig eingerichtet und man kann sich Simplenews zuwenden.
  4. Als erstes legt man unter "Verwalten >> Inhaltsverwaltung >> Taxonomy >> Vokabular hinzufügen" ein neues Taxonomy-Vokabular an, das die Namen der verschiedenen Newsletter-Typen enthält, und trägt dort die Bezeichnungen der Newsletter ein, z. B. Kundennewsletter, Interessenteninfos usw.
  5. Über "Verwalten >> Einstellungen >> nach Modul" kommt man zu den verschiedenen Simplenews-Optionen. Leider ist das mit 12 verschiedenen Menüpunkte etwas unübersichtlich geraten – zumal diese teilweise noch sehr ähnlich benannt sind. Den Menüpunkt "Simplenews" kann man ignorieren, er enthält nur noch einmal die vier Menüpunkte "Allgemein", "Newsletter", "Subscription" und "Send Mail", die schon in der Liste enthalten sind. Das gleiche gilt auch für den ersten der zwei "Newsletters" genannten Menüpunkte.

    Als erstes stellt man über "Berechtigungen festlegen" ein, wer überhaupt Zugriff auf die Simplenews-Funktonen erhalten soll. Wichtig ist vor allem die Funktion "subscribe to newsletters": Hier trägt man die Rollen ein, die sich zum Newsletter anmelden dürfen.

    Unter dem Menüpunkt "Allgemein" wählt man den Inhaltstyp, der die Newsletter-Ausgaben enthalten soll. Simplenews legt bei der Installation einen Inhaltstyp "Newsletter issue" an, dieser muss auf jeden Fall angekreuzt werden. Dann wählt man in "Newsletter vocabulary" das in Punkt 4 erstellte Vokabular aus. Anschließend "konfiguration speichern" anklicken.

    Unter dem Punkt "Send mail" stellt man ein, wie der Versand der Newsletter erfolgen soll. Es empfiehlt sich die Einstellung "Use cron to send newsletters" zu verwenden, damit insbesondere bei größeren Stückzahlen ein kontrollierter Versand stattfindet. In "Cron Throttle" gibt man an, wieviele Mails pro Cron-Lauf versendet werden sollen. Der maximal mögliche Wert hängt davon ab, wieviele Sekunden die maximale Skript-Laufzeit für PHP erlaubt ist. Bei 60 Sekunden ist man mit 100 Mails auf der sicheren Seite. Auch hier wieder die Konfiguration speichern.

    In "Subscription" kann man festlegen, dass die Newsletter-Empfänger mit den Drupal-User-Accounts synchronisiert werden. Will man die Empfänger selber verwalten, kreuzt man diese Box nicht an. Dann kann man Empfänger eintragen, auch ohne für diese einen User-Account anzulegen. In den folgenden Feldern hat man die Möglichkeit, die Texte der Bestätigungsmails nach eigenen Wünschen anzupassen.

    Unter "Subscriptions" kann man jetzt Empfängeradressen eintragen, freischalten oder sperren. Besonders praktisch ist hierfür die "Mass subscribe"-Option. Hat man E-Mail-Adressen z. B. aus einer Datenbank exportiert, so kann man diese hier (am besten Komma-separiert) eintragen, klickt dann den gewünschten Newsletter an und alle Adressen werden in einem Rutsch zugeordnet.

    Im zweiten Menüpunkt "Newsletter" hat man die Möglichkeit, vorhandene Newsletter-Typen zu bearbeiten (nicht die einzelnen Newsletterausgaben! Das ist leider etwas verwirrend von den Bezeichnungen her). Einen neuen Newsletter-Typ fügt man über "Add Newsletter" hinzu. Jeder Newsletter-Typ erhält eine Bezeichnung und eine Absenderadresse als Pflichtangaben. Zusätzlich kann man noch eine Beschreibung eingeben, einen Absendernamen und kann festlegen, wie Hyperlinks eingebaut werden sollen.
  6. Jetzt kann man daran gehen seinen ersten Newsletter zu erstellen und zu verschicken.

    Eine neue Newsletter-Ausgabe legt man an über "Verwalten >> Inhaltsverwaltung >> Inhalt erstellen >> Newsletter issue". Als erstes trägt man einen Titel für die Ausgabe ein und wählt dann aus der Drop-Down-Liste den gewünschten Newsletter-Typ. Im Textkörper schreibt man den Inhalt, so wie bei anderen Drupal-Inhalten auch. Ist der Text fertig, sollte man sich einen Test-Newsletter zuschicken lassen. Dazu einfach den Radio-Button "Sende einen Test-Newsletter zur Testadresse" auswählen und auf "save and send test" klicken. Sekunden später erscheint er im Posteingang. Ist alles korrekt, wählt man jetzt den Radio-Button "Newsletter", klickt auf "save and send" und der Newsletter wird mit dem nächsten Cron-Lauf an die Empfänger verschickt.

Übrigens: wer nicht alle Systemmails mit dem gleichen HTML-Layout haben möchte, kann jedem Modul (das Mail versendet) eine eigenes Template zuweisen. Dazu kopiert man die Datei htmlmail.tpl.php aus dem Verzeichnis von HTML-Mail in das Verzeichnis des verwendeten Themes (eigene Themes finden sich unter ../sites/all/themes/mein-theme). Dann  benennt man es um, und fügt den Namen des Moduls ein, für das dieses Template zuständig sein soll, z.B. htmlmail-user.tpl.php wenn es für die Mails des User-Moduls gelten soll.