Newsletter mit Inhalten aus einem RSS-Feed automatisiert versenden
Newsletter mit Inhalten aus einem RSS-Feed automatisiert versenden
Einleitung
Du kannst deine Newsletter-Abonnenten automatisch über die API mit Mailings versorgen – zum Beispiel immer dann, wenn deinem RSS-Feed ein neuer Artikel hinzugefügt wird.
In diesem Artikel zeigen wir dir Schritt für Schritt, wie du deinen Newsletter-Abonnenten automatisiert den neuesten Artikel aus deinem Feed zuschickst.
Für regelmäßig wiederkehrende Mailings mit RSS-Inhalten kannst du auch unseren Scheduler verwenden. Schreib an service@mailingwork.de, um mehr darüber zu erfahren.
Schritte
1. E-Mail Template vorbereiten
Du benötigst ein E-Mail-Template mit RSS-Integration. Welche Feeds vom RSS-Modul unterstützt werden und wie du diese integrierst, erfährst du in diesem Artikel. Dort findest du auch ein einfaches Beispiel-Template.
In Kurzform:
Damit deine RSS-Artikel automatisch dem Mailing hinzugefügt werden müssen am Container bestimmte RSS-spezifische Attribute vorhanden sein:
autofeed: true = Die Feed-Inhalte werden dem Mailing automatisch hinzugefügt.
max-contents: Die maximale Anzahl der zu ladenden RSS-Elemente. Da nur der neueste Artikel versendet werden soll, ist max-contents='1'.
Am Element für die RSS-Artikel aktivierst du die RSS-Integration durch feedable='true':
[ELEMENT name='artikel' feedable='true']
2. Skript umsetzen
Dein Skript könnte regelmäßig per Cronjob ausgeführt werden. Es sollte folgende Schritte ausführen:
1. Vor dem ersten Versand:
Einen aktuellen Zeitstempel als last_mailing speichern (z. B. in einer Datei oder Datenbank).
2. Bei jedem Aufruf:
Prüfen, ob im RSS-Feed ein Artikel mit Zeitstempel neuer als last_mailing vorhanden ist.
Wenn ja:
E-Mail erstellen (CreateEmail).
E-Mail versenden (ActivateEmail).
Den Zeitstempel der Versendung als neuen last_mailing speichern.
Auf die beiden Funktionen CreateEmail und ActivateEmail gehen wir im Folgenden genauer ein.
Das Mailing erstellen: API-Funktion CreateEmail
Du benötigst ein Template-basiertes Mailing vom Typ Standard-Mail. Der RSS-Feed-Inhalt wird bei Verwendung von autofeed='true' einmalig zum Versandzeitpunkt eingelesen.
Die Abonnentenliste wird mit listId festegelgt. Es können mehrere Listen-Ids kommagetrennt angegeben werden.
Mit targetgroupId lässt
sich der Empfängerkreis auf die angegebenen Zielgruppe einschränken.
Lasse den Wert leer, wenn du keine Einschränkung benötigst. Es können
mehrere Zielgruppen-Ids kommagetrennt angegeben werden.
Für unseren Use Case geben wir zusätzlich mit dem Parameter templateId die Id unseres RSS-fähigen E-Mail-Templates an.
Der Standardwert Parameters advanced['behavior'] ist "standard" und kann daher weggelassen werden.
PHP Beispiel – Einfacher HTTP-Request mit JSON-Rückgabe