Merkmale und Vorteile des Moduls
- Newsletter vollständig innerhalb von PrestaShop — Abonnentendaten, Kampagneninhalte und Statistiken bleiben in der Shop-Datenbank, ohne Übergabe der Adressliste an einen externen Anbieter und ohne Gebühren nach Anzahl der versendeten Nachrichten.
- Kampagnen-Builder in vier Schritten (Vorlage, Produkte, Empfänger, Versand) mit Vorschau in jeder Phase und mit Zusammenfassung vor dem Start.
- Produktblock, der aus dem Shop-Katalog aufgebaut wird: Miniaturbild, Name, Preis und Link führen zu echten Produkten, mit Preisen und Beständen aus dem Moment der Kampagnenvorbereitung.
- Eigene Versand-Engine mit Warteschlange: Verarbeitung in Portionen, Sperre gegen parallelen Versand derselben Kampagne, Wiederholung fehlgeschlagener Adressen und Fortsetzung nach Unterbrechung — nichts geht nach dem Schließen der Browserkarte verloren.
- Live-Versandkonsole mit einer Zeile für jeden Versuch: Uhrzeit, Adresse, Ergebnis und vollständige Antwort des Mailservers bei Ablehnung — man sieht genau, was der Server abgelehnt hat, ohne die PrestaShop-Protokolle öffnen zu müssen.
- Elf Kontrollen vor dem Versand, die keine Dekoration sind: Eine als blockierend markierte Zeile verhindert den Start der Kampagne unter Angabe des konkreten Grundes.
- Diagnose der Absenderdomain (MX, SPF, DKIM, DMARC) direkt im Panel — diese Einträge entscheiden darüber, ob Gmail und Yahoo den Massenversand als authentifiziert behandeln.
- Konformität mit den Abmeldeanforderungen: Header für die Ein-Klick-Abmeldung (RFC 8058) sowie ein in jeder Vorlagensprache erforderlicher Abmeldelink, der vor dem Versand geprüft wird.
- Testmodus (Dry Run) ermöglicht es, die gesamte Kampagne von Anfang bis Ende durchzuspielen — die Engine durchläuft die gesamte Warteschlange, aber keine Nachricht verlässt den Shop.
- Das Einwilligungsregister liest Nachweise live direkt aus PrestaShop und behauptet niemals, dass jemand eingewilligt hat, wenn dafür kein Eintrag vorhanden ist — eine Adresse ohne vermerktem Datum wird als „kein Nachweis“ beschrieben und nicht als Einwilligung.
- Gebündelter TinyMCE 6.8.6 Editor unter MIT-Lizenz — Vorlageninhalte bearbeiten Sie WYSIWYG, ohne irgendetwas von einem CDN herunterzuladen.
- Fünf fertige, responsive Nachrichtenvorlagen in polnischer und englischer Version, die zusammen mit dem Modul installiert werden und sich mit einer Schaltfläche wiederherstellen lassen.
- Volle Unterstützung für mehrere Sprachen und Multistore: Betreff und Inhalt getrennt für jede Sprache, Kampagne dauerhaft einem Shop zugewiesen.
- Die Oberfläche ist vollständig ins Polnische übersetzt, in einem dualen Übersetzungssystem, das sowohl klassische Wörterbücher als auch das System von PrestaShop 1.7.8+ unterstützt.
- Kein Composer, keine externen PHP-Bibliotheken und keine Verbindungen zu externen Diensten beim Versand — das Modul nutzt die Mailkonfiguration von PrestaShop selbst.
Wichtigste Funktionen des Moduls
- Eigener Reiter im Administrationspanel (unter dem Menü Kunden) mit acht Bereichen: Dashboard, Kampagnen, Vorlagen, Empfänger, Import, Einwilligungen, Statistiken und Einstellungen.
- Kampagnen-Builder: Schritt 1 — Name und Vorlage, Schritt 2 — Produkte und Aussehen des Blocks, Schritt 3 — Empfänger, Schritt 4 — Kontrollen, Zeitplan und Versand.
- Produktsuche nach Name, Referenz und EAN-Code sowie Massenhinzufügen aus Kategorien: 8 Bestseller, 8 Neuheiten oder eine ganze Kategorie.
- Bestseller werden auf Grundlage der in den letzten 30 Tagen verkauften Stückzahlen berechnet, ausschließlich aus gültigen Bestellungen.
- Layout des Produktblocks: 1, 2 oder 3 Spalten sowie vier Kartenstile (Hell, Dunkel, Mit Rahmen, Erweitert) mit eigener Farbpalette; die Reihenfolge der Produkte wird mit Pfeilen nach oben/unten bei jeder Position geändert.
- Warnung zur Nachrichtengröße, serverseitig gemessen im Verhältnis zur Kürzungsschwelle in Gmail (~102 kB) — bevor die Kampagne gekürzt versendet wird.
- Möglichkeit, eine Kampagne ganz ohne Produktblock zu versenden.
- Vorlagenbibliothek: fünf fertige Layouts (Klassisch (default), Promotion, Editorial, Minimal, Grid), Erstellung eigener Vorlagen, Duplizieren, Vorschau, Testversand und Schaltfläche zum Wiederherstellen der Vorlagen aus dem Paket.
- Betreff und Nachrichteninhalt getrennt für jede Shop-Sprache, bearbeitet in TinyMCE 6.8.6 ohne CDN.
- Siebzehn Platzhalter zum Einfügen in die Vorlage: {firstname}, {lastname}, {email}, {shop_name}, {shop_url}, {shop_logo_url}, {date_text}, {unsubscribe_link}, {view_in_browser}, {page_new_products}, {page_best_sales}, {page_contact_link}, {page_sitemap}, {page_my_orders}, {page_my_addresses}, {page_my_vouchers}, {page_my_personal_info} — plus {products} für den Produktblock.
- Adressen von Shop-Seiten in Platzhaltern werden für den Shop der Kampagne und die Sprache des Empfängers aufgelöst, unter Verwendung der suchmaschinenfreundlichen URLs der jeweiligen Sprache.
- Empfängerauswahl: Kundengruppen, Empfängersprachen, aus CSV importierte Liste, Mailinglisten sowie Liste ausgeschlossener Adressen — mit Live-Zahlen (Nativ, Importiert, Ausgeschlossen, Insgesamt).
- Zusammenführung und Deduplizierung von Adressen aus allen Quellen nach E-Mail-Adresse, mit automatischem Abzug abgemeldeter und ausgeschlossener Adressen.
- Statische Mailinglisten (genau die Adressen, die Sie hineinlegen) und dynamische Mailinglisten (gespeicherte Filter, die im Moment der Kampagnenvorbereitung neu berechnet werden), mit Möglichkeit zur Umbenennung, Duplizierung, Export nach CSV und Löschung.
- Übersicht aller bekannten Adressen — Kunden, über den PrestaShop-Newsletterblock eingetragene Gäste und importierte Adressen — an einem Ort, mit Filtern nach Quelle, Status, Sprache und Kundengruppe.
- Segmentierung nach Kaufhistorie: minimal ausgegebener Betrag, minimale Anzahl an Bestellungen, Kauf innerhalb der letzten N Tage, Kunden, die früher gekauft haben, aber nicht in den letzten N Tagen, Kauf aus einer bestimmten Kategorie, Kauf eines bestimmten Produkts (ID) sowie kein Kauf eines bestimmten Produkts.
- Import von Adressen aus einer CSV-Datei im Format
email;firstname;lastname;iso— erforderlich ist ausschließlich die E-Mail-Spalte, das Trennzeichen (Semikolon, Komma oder Tabulator) wird automatisch erkannt, die Kopfzeile wird übersprungen, bis zu 50.000 Zeilen pro Datei. - Ein erneuter Import derselben Adresse aktualisiert deren Daten, statt ein Duplikat zu erstellen; importierte Adressen können sofort einer ausgewählten Mailingliste hinzugefügt werden.
- Sofortversand aus der geöffneten Browserkarte oder geplant für ein ausgewähltes Datum und eine Uhrzeit und ausgeführt durch einen Cronjob.
- Versand-Engine mit Parametern: Portionsgröße 1–500 Nachrichten (standardmäßig 20), Pause zwischen Nachrichten 0–5000 ms (standardmäßig 100), Zeitbudget eines Durchlaufs 5–45 s (standardmäßig 20) und Anzahl der Versuche pro Empfänger 1–10 (standardmäßig 3).
- Versandsteuerung: Pausieren, Fortsetzen und Stoppen sowie Übernahme einer Kampagne, die in einer anderen Karte gestartet wurde oder von Cron ausgeführt wird.
- Live-Versandkonsole in Form eines Textfensters: eine Zeile für jeden Versuch, mit Uhrzeit, Adresse, Ergebnis (angenommen, abgelehnt und erneut versucht, aufgegeben, übersprungen) und vollständiger Meldung des Mailservers.
- Fortschrittszähler, die Fehlgeschlagen von Erneut versucht unterscheiden — eine vor Ausschöpfung der Versuche abgelehnte Adresse ist sofort sichtbar und nicht erst nach Abschluss der Kampagne.
- Warteschlangentabelle mit Filterung nach Status (Alle, Fehlgeschlagen, Gesendet, Ausstehend, Übersprungen), Gruppierung von Fehlern nach Serverantwort und Unterscheidung zwischen temporären Fehlern (4xx) und dauerhaften Fehlern (5xx).
- Export fehlgeschlagener Adressen in eine CSV-Datei direkt vom Versandbildschirm.
- Elf Kontrollen vor dem Versand: Methode des Mailversands in PrestaShop, Korrektheit der Umschlagadressen (BCC und Reply-To), Vorhandensein von Empfängern, eingefrorener Nachrichteninhalt, Abmeldelink in jeder Sprache, Betreff in jeder Sprache, versendete Testnachricht, Übereinstimmung der Absenderadresse mit der Shop-Domain, SPF/DKIM/DMARC-Einträge, Testmodus sowie Header für die Ein-Klick-Abmeldung.
- Testversand an eine beliebige Adresse, in einer ausgewählten Sprache, funktioniert auch bei aktiviertem Testmodus.
- Testmodus (Dry Run): Die Engine durchläuft die gesamte Warteschlange und markiert Empfänger als gesendet, aber der Versandaufruf erfolgt nicht — mit einer Warnung, die auf dem Versandbildschirm und in den Einstellungen sichtbar ist.
- Absendereinstellungen: Adresse und Name des Absenders, Reply-To-Adresse für Antworten von Kunden sowie archivierende BCC-Kopie jeder Kampagnennachricht (Testnachrichten werden nicht archiviert).
- URL des Cronjobs mit geheimem Schlüssel, Information über den letzten Start, Warnung, wenn sich Cron seit über einer Stunde nicht gemeldet hat, sowie Schaltfläche zum Generieren einer neuen Adresse; ein falscher oder fehlender Schlüssel erhält einfach 403.
- Diagnose der Absenderdomain, gestartet über den Reiter Einstellungen: Auslesen der MX-, SPF-, DKIM- und DMARC-Einträge ohne jegliche Änderungen vorzunehmen.
- Tracking von Öffnungen mit einem unsichtbaren 1×1-Pixel, mit Option zur vollständigen Deaktivierung — bei deaktiviertem Tracking wird der Pixel überhaupt nicht eingebettet und die Anzahl der Öffnungen bleibt null.
- Klick-Tracking: Links im Kampagneninhalt werden bei der Vorbereitung registriert und führen über eine eigene Weiterleitung des Moduls; die Zieladresse wird anhand der Kennung aus der Datenbank gelesen, niemals aus der Anfrage, daher kann die Weiterleitung nicht übernommen werden.
- Zuordnung von Umsatz zu Kampagnen nach dem Last-Click-Modell in einem Fenster von 1–90 Tagen (standardmäßig 7); das angewendete Fenster wird bei jeder zugeordneten Bestellung gespeichert, sodass eine Änderung der Einstellung die Historie nicht umschreibt.
- Reiter Statistiken: für jede Kampagne Status, Anzahl der Empfänger, gesendet, fehlgeschlagen, Öffnungen, Öffnungsrate, zugeordneter Umsatz sowie Start- und Enddatum.
- Dashboard mit Zeitraumsauswahl (gesamte Zeit, 7, 30 oder 90 Tage) und sieben Blöcken: Kennzahlen, Diagramm von Versand und Öffnungen im Zeitverlauf, Abonnentenbasis, Zustellbarkeitsstatus, Abmeldungen, letzte Kampagnen und erfolgreichste Kampagnen.
- Seite „Im Browser ansehen“ für jede Kampagne, personalisiert für den Empfänger und funktionierend auch für eine noch nicht versendete Kampagne.
- Abmeldeseite ohne Anmeldung, durch Token geschützt: Der Aufruf über den Link zeigt eine Bestätigungsseite an, und die Abmeldung erfolgt erst nach deren Bestätigung — dadurch melden Mail-Sicherheitsscanner und Link-Vorschauen niemanden versehentlich ab.
- Die Abmeldung aktualisiert gleichzeitig die Kundeneinwilligung in PrestaShop, den Eintrag in der Tabelle der Gastanmeldungen und die Position in der importierten Liste, und die Adresse landet auf einer gemeinsamen Abmeldeliste.
- Einwilligungsregister: Quelle der Adresse, vermerkter Nachweis (Datum und IP-Adresse der Anmeldung), Information, ob an die Adresse gesendet werden darf, letztes vom Modul registriertes Ereignis und Export des Ganzen nach CSV.
- Abmeldeliste mit Suchfunktion und Möglichkeit, einen Eintrag zu entfernen, wenn der Empfänger erneut um Anmeldung bittet.
- Duplizieren von Kampagnen sowie sieben eindeutige Status: Entwurf, bereit, geplant, im Versand, pausiert, abgeschlossen und gestoppt.
- Einfrieren der Kampagne bei der Vorbereitung: Inhalt, Preise, Produkte und Empfängerliste werden im Moment der Vorbereitung festgehalten und nicht erst zum Zeitpunkt des tatsächlichen Versands erneut ausgelesen.
Zustellbarkeit von Nachrichten
- Kontrolle der Mailversandmethode in PrestaShop: Ein Shop, der auf „niemals E-Mails senden“ eingestellt ist, wird vor dem Start erkannt, statt die gesamte Kampagne als zugestellt zu melden.
- Prüfung der Umschlagadressen (BCC und Reply-To) vor dem Versand — eine einzige Adresse in einer Domain, die keine E-Mails annimmt, kann die gesamte Nachricht blockieren, zusammen mit allen echten Empfängern.
- Auslesen der SPF- und DMARC-Einträge der Absenderdomain sowie Prüfung des DKIM-Schlüssels für den von PrestaShop verwendeten Selektor.
- Vergleich der Absenderadresse mit der Shop-Domain — Massenversand von einer fremden Domain (z. B. von einem kostenlosen Postfach) ist die häufigste Ursache dafür, im Spam zu landen.
- Header
List-UnsubscribeundList-Unsubscribe-Postgemäß RFC 8058, dank denen Postfachanbieter ihre eigene Abmeldeschaltfläche anzeigen (PrestaShop 1.7.5 und neuer). - Erzwingung des Vorhandenseins eines Abmeldelinks in jeder gespeicherten Sprache der Kampagne — sein Fehlen blockiert den Versand.
- Kurze Pause nach jeder Nachricht und Verarbeitung in Portionen, um den Mailserver nicht zu überlasten und nicht in Versandlimits zu geraten.
- Unterscheidung zwischen temporären Ablehnungen (Codes 4xx — z. B. Greylisting, volles Postfach) und dauerhaften Ablehnungen (Codes 5xx — z. B. nicht existierende Adresse), sichtbar bei jeder Fehlergruppe.
Einwilligungen, Abmeldungen und personenbezogene Daten
- Das Einwilligungsregister liest Nachweise bei jeder Anfrage direkt aus PrestaShop (Datum der Newsletter-Anmeldung, IP-Adresse der Anmeldung, Adresse der verweisenden Seite) — es erstellt keine eigene Kopie, die vom Shop abweichen könnte.
- Eine Adresse ohne vermerktem Anmeldedatum wird als „kein Nachweis“ beschrieben und nicht als Einwilligung — das Modul setzt niemals das Datum der Kontoerstellung oder das Datum des Hochladens der CSV-Datei an die Stelle des Einwilligungsdatums.
- Das eigene Ereignisprotokoll des Moduls vermerkt ausschließlich das, was PrestaShop nicht speichert: Import einer Adresse aus einer CSV-Datei, Abmeldung über den Modul-Link und Änderungen der Zugehörigkeit zu Mailinglisten.
- Die Abmeldung gilt für die gesamte Installation: Eine in einer Kampagne und in einem Shop abgemeldete Adresse ist von allen zukünftigen Kampagnen in allen Shops ausgeschlossen.
- Eine Adresse auf der Abmeldeliste bleibt ausgeschlossen, unabhängig davon, wie oft sie erneut importiert oder wieder auf aktiv gesetzt wird.
- Export des Einwilligungsregisters in eine CSV-Datei für Dokumentations- und Kontrollzwecke.
- Das Öffnungstracking kann vollständig deaktiviert werden, wenn auf einem bestimmten Markt ein unangekündigter Tracking-Pixel als Einwilligungsfrage behandelt wird.
Multistore und Mehrsprachigkeit
- Eine Kampagne gehört genau zu einem Shop — ihre Empfänger, Produktpreise sowie Name und Adresse des Shops im Inhalt stammen aus diesem Shop, niemals aus dem aktuellen Kontext des Panels.
- Die Abmeldeliste und die importierte Liste sind für die gesamte Installation gemeinsam, was eine bewusste Entscheidung ist: Der Verzicht auf den Erhalt von Nachrichten betrifft die Person und die Adresse, nicht einen einzelnen Shop.
- Betreff und Nachrichteninhalt werden getrennt für jede Shop-Sprache festgelegt, mit Rückfall auf die Standardsprache, wenn für eine bestimmte Sprache kein eigener Inhalt vorhanden ist.
- Filter für Empfängersprachen in der Phase der Adressatenauswahl; importierte Adressen ohne eigene Sprache werden als Standardsprache des Shops gezählt.
- Platzhalter für Shop-Seitenadressen werden in der Sprache des Empfängers aufgelöst, unter Verwendung der suchmaschinenfreundlichen URLs dieser Sprache.
Sicherheit und Einfluss auf den Shop
- Das Modul registriert keinen Hook, der Inhalte im Frontend anzeigt, daher fügt es den Katalog-, Warenkorb- oder Bestellseiten nichts hinzu.
- Die einzigen eigenen Frontend-Seiten sind: Abmeldung, Nachrichtenvorschau im Browser, Öffnungspixel, Klick-Weiterleitung und Einstiegspunkt des Cronjobs — das Stylesheet des Moduls wird ausschließlich auf der Abmeldeseite geladen.
- Bei der Installation legt das Modul zwei Hilfsindizes auf den Tabellen für Kunden und Newsletter-Anmeldungen an, damit die Empfängerzählung nicht die gesamten Tabellen scannt; bei der Deinstallation werden beide entfernt.
- Die Speicherung der Verkaufszuordnung erfolgt bei der Erstellung und Statusänderung einer Bestellung in einem Block, der alle Fehler abfängt — die Newsletter-Statistik kann die Aufgabe einer Bestellung nicht beeinträchtigen.
- Abmelde- und Browservorschau-Links sind mit dem geheimen Installationsschlüssel signiert; das Token ist eine Funktion aus Adresse und Schlüssel und kann daher nicht erraten werden.
- Die URL des Cronjobs ist durch einen geheimen Schlüssel geschützt — jeder Aufruf ohne korrekten Schlüssel erhält 403 und nichts weiter.
- Jeder AJAX-Endpunkt des Panels prüft die Berechtigungen des Mitarbeiterprofils (Ansicht oder Bearbeitung), und Kampagnen sind auf den Shop beschränkt, in dem der Mitarbeiter arbeitet.
- Die Abmeldeseite zeigt bei einem ungültigen Token niemals die übermittelte E-Mail-Adresse an.
- Die Klick-Weiterleitung endet immer auf einer Shop-Seite, selbst bei unbekanntem Link oder Datenbankfehler — das ist das Rezept dafür, den Besuch nicht zu verlieren, den die Kampagne gerade bezahlt hat.
Geschäftlicher Einsatz
- Für Shops, die einen Newsletter ohne Abonnement eines externen Mailing-Systems und ohne Übergabe ihrer Adressdatenbank betreiben möchten.
- Für Shops, die Produktkampagnen versenden — Neuheiten, Ausverkäufe, Bestseller — bei denen sich der Nachrichteninhalt aus echten Produkten aus dem Katalog zusammensetzen soll.
- Für Händler, die die Grundlage des Versands dokumentieren müssen: Einwilligungsregister, Abmeldeprotokoll und CSV-Export beantworten die Frage „Woher haben Sie meine Adresse“.
- Für Shops nach der Migration auf PrestaShop 8 oder 9, die einen Newsletter benötigen, der auf dem aktuellen Core und unter PHP 8.x funktioniert.
- Für Multistore-Shops, in denen jeder Shop eigene Kampagnen führt, Abmeldungen aber überall gelten sollen.
- Für Händler, die inaktive Kunden zurückgewinnen — die Segmentierung nach Kaufhistorie ermöglicht es, diejenigen herauszufiltern, die früher gekauft haben, aber nicht in den letzten Monaten.
Kompatibilität
- PrestaShop: 1.7.x – 9.x
- PHP: 7.0 – 8.5
- MySQL 5.6+ / MariaDB 10.x+
- Ohne Composer und ohne externe PHP-Bibliotheken; TinyMCE 6.8.6 (MIT-Lizenz) im Modul gebündelt.
- Der Versand erfolgt über die Mailkonfiguration von PrestaShop selbst (SMTP oder Mail-Funktion), ohne externes API.
Link zur Modul-Demo:
Demo des Administrationspanels:
https://moduly-prestashop.eu/pdnewsletterpro/admin-dev
Demo des Frontends:
https://moduly-prestashop.eu/pdnewsletterpro