Vlastnosti a výhody modulu
- Newsletter kompletně uvnitř PrestaShopu — data odběratelů, obsah kampaní i statistiky zůstávají v databázi obchodu, bez předávání seznamu adres externímu poskytovateli a bez poplatků za počet odeslaných zpráv.
- Tvůrce kampaní ve čtyřech krocích (šablona, produkty, příjemci, odeslání) s náhledem v každé fázi a se souhrnem před spuštěním.
- Produktový blok sestavený z katalogu obchodu: miniatura, název, cena a odkaz vedou na skutečné produkty, v cenách a stavech z okamžiku přípravy kampaně.
- Vlastní odesílací engine s frontou: práce po dávkách, blokace proti paralelnímu odesílání stejné kampaně, opakování neúspěšných adres a obnovení po přerušení — nic se neztratí po zavření karty prohlížeče.
- Konzole živého odesílání s jedním řádkem pro každý pokus: čas, adresa, výsledek a plná odpověď poštovního serveru při odmítnutí — je vidět, co přesně server odmítl, bez vstupu do logů PrestaShopu.
- Jedenáct kontrol před odesláním, které nejsou jen dekorací: řádek označený jako blokující odmítne spuštění kampaně s uvedením konkrétního důvodu.
- Diagnostika domény odesílatele (MX, SPF, DKIM, DMARC) přímo v panelu — tyto záznamy rozhodují o tom, zda Gmail a Yahoo budou hromadné odesílání považovat za ověřené.
- Soulad s požadavky na odhlášení: hlavičky pro odhlášení jedním kliknutím (RFC 8058) a odkaz pro odhlášení vyžadovaný v každém jazyce šablony, kontrolovaný před odesláním.
- Zkušební režim (dry run) umožňuje projít celou kampaň od začátku do konce — engine projde celou frontu, ale žádná zpráva neopustí obchod.
- Registr souhlasů čte důkazy přímo z PrestaShopu v reálném čase a nikdy netvrdí, že někdo udělil souhlas, pokud o tom neexistuje záznam — adresa bez zaznamenaného data je popsána jako „chybí důkaz“, nikoli jako souhlas.
- Přibalený editor TinyMCE 6.8.6 pod licencí MIT — obsah šablon upravujete ve WYSIWYG bez stahování čehokoli z CDN.
- Pět hotových responzivních šablon zpráv v polské a anglické verzi, instalovaných spolu s modulem a obnovitelných jedním tlačítkem.
- Plná podpora více jazyků a multistore: předmět a obsah zvlášť pro každý jazyk, kampaň trvale přiřazená k jednomu obchodu.
- Rozhraní kompletně přeložené do polštiny, v duálním systému překladů podporujícím jak klasické slovníky, tak systém PrestaShop 1.7.8+.
- Bez Composeru, bez externích PHP knihoven a bez připojení k externím službám při odesílání — modul využívá poštovní konfiguraci samotného PrestaShopu.
Nejdůležitější funkce modulu
- Vlastní záložka v administračním panelu (pod menu Zákazníci) s osmi sekcemi: Dashboard, Kampaně, Šablony, Příjemci, Import, Souhlasy, Statistiky a Nastavení.
- Tvůrce kampaní: krok 1 — název a šablona, krok 2 — produkty a vzhled bloku, krok 3 — příjemci, krok 4 — kontroly, plánování a odeslání.
- Vyhledávač produktů podle názvu, reference a kódu EAN a hromadné přidávání z kategorií: 8 bestsellerů, 8 nejnovějších nebo celá kategorie.
- Bestsellery počítané na základě počtu prodaných kusů za posledních 30 dní, výhradně z platných objednávek.
- Rozložení produktového bloku: 1, 2 nebo 3 sloupce a čtyři styly karet (Světlý, Tmavý, S rámečkem, Rozšířený) s vlastní paletou barev, pořadí produktů měněné šipkami nahoru/dolů u každé položky.
- Upozornění na velikost zprávy měřenou na straně serveru vůči prahu oříznutí v Gmailu (~102 kB) — dříve, než bude kampaň odeslána zkrácená.
- Možnost odeslat kampaň úplně bez produktového bloku.
- Knihovna šablon: pět hotových rozložení (Klasický (default), Promo, Editorial, Minimal, Grid), vytváření vlastních, duplikování, náhled, testovací odeslání a tlačítko pro obnovení šablon z balíčku.
- Předmět a obsah zprávy zvlášť pro každý jazyk obchodu, upravované v TinyMCE 6.8.6 bez CDN.
- Sedmnáct značek pro vložení do šablony: {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} pro produktový blok.
- Adresy stránek obchodu ve značkách se řeší pro obchod kampaně a jazyk příjemce s použitím přívětivých URL adres daného jazyka.
- Výběr příjemců: skupiny zákazníků, jazyky příjemců, seznam importovaný z CSV, mailingové seznamy a seznam vyloučených adres — s počty v reálném čase (Nativní, Importovaní, Vyloučení, Celkem).
- Slučování a deduplikace adres ze všech zdrojů podle e-mailové adresy s automatickým odečtením odhlášených a vyloučených.
- Mailingové seznamy statické (přesně ty adresy, které do nich vložíte) a dynamické (uložené filtry přepočítávané v okamžiku přípravy kampaně), s možností přejmenování, duplikování, exportu do CSV a odstranění.
- Prohlížeč všech známých adres — zákazníci, hosté zapsaní přes newsletterový blok PrestaShopu a importované adresy — na jednom místě, s filtry zdroje, stavu, jazyka a skupiny zákazníků.
- Segmentace podle historie nákupů: minimální utracená částka, minimální počet objednávek, nákup během posledních N dní, zákazníci, kteří nakupovali dříve, ale ne v posledních N dnech, nákup z konkrétní kategorie, nákup konkrétního produktu (ID) a absence nákupu konkrétního produktu.
- Import adres ze souboru CSV ve formátu
email;firstname;lastname;iso— povinný je pouze sloupec e-mail, oddělovač (středník, čárka nebo tabulátor) je detekován automaticky, řádek hlavičky je přeskočen, až 50 000 řádků na soubor. - Opětovný import stejné adresy aktualizuje její data místo vytváření duplikátu; importované adresy lze rovnou připsat do vybraného mailingového seznamu.
- Okamžité odeslání z otevřené karty prohlížeče nebo naplánované na vybrané datum a čas a realizované úlohou cron.
- Odesílací engine s parametry: velikost dávky 1–500 zpráv (výchozí 20), pauza mezi zprávami 0–5000 ms (výchozí 100), časový rozpočet jednoho průchodu 5–45 s (výchozí 20) a počet pokusů na příjemce 1–10 (výchozí 3).
- Řízení odesílání: Pozastavit, Obnovit a Zastavit, a také převzetí kampaně, která byla spuštěna v jiné kartě nebo je vedena cronem.
- Konzole živého odesílání ve formě textového okna: jeden řádek pro každý pokus, s časem, adresou, výsledkem (přijat, odmítnut a opakován, opuštěn, přeskočen) a plnou zprávou poštovního serveru.
- Počítadla průběhu rozlišující Neúspěšné od Opakovaných — adresa odmítnutá před vyčerpáním pokusů je viditelná hned, a ne až po dokončení kampaně.
- Tabulka fronty s filtrováním podle stavu (Všichni, Neúspěšné, Odesláno, Čekající, Přeskočené), seskupováním chyb podle odpovědi serveru a rozlišením dočasných chyb (4xx) od trvalých (5xx).
- Export neúspěšných adres do souboru CSV přímo z obrazovky odesílání.
- Jedenáct kontrol před odesláním: metoda odesílání pošty v PrestaShopu, správnost adres na obálce (BCC a Reply-To), přítomnost příjemců, zmrazený obsah zprávy, odkaz pro odhlášení v každém jazyce, předmět v každém jazyce, odeslaná testovací zpráva, shoda adresy odesílatele s doménou obchodu, záznamy SPF/DKIM/DMARC, zkušební režim a hlavičky pro odhlášení jedním kliknutím.
- Testovací odeslání na libovolnou adresu, ve vybraném jazyce, fungující i při zapnutém zkušebním režimu.
- Zkušební režim (dry run): engine projde celou frontu a označí příjemce jako odeslané, ale k vyvolání odeslání nedojde — s upozorněním viditelným na obrazovce odesílání i v nastavení.
- Nastavení odesílatele: adresa a jméno odesílatele, adresa Reply-To pro odpovědi zákazníků a archivní kopie BCC každé zprávy kampaně (testovací zprávy se nearchivují).
- URL adresa úlohy cron s tajným klíčem, informace o posledním spuštění, upozornění, když se cron neozval déle než hodinu, a tlačítko pro vygenerování nové adresy; chybný nebo chybějící klíč dostane prostě 403.
- Diagnostika domény odesílatele spouštěná ze záložky Nastavení: čtení záznamů MX, SPF, DKIM a DMARC bez provádění jakýchkoli změn.
- Sledování otevření neviditelným pixelem 1×1 s možností úplného vypnutí — při vypnutém sledování se pixel vůbec nevkládá a počet otevření zůstává nulový.
- Sledování kliknutí: odkazy v obsahu kampaně jsou registrovány při její přípravě a vedou přes vlastní přesměrování modulu; cílová adresa se čte z databáze podle identifikátoru, nikdy z požadavku, takže přesměrování nelze převzít.
- Přiřazení tržeb ke kampani metodou posledního kliknutí v okně 1–90 dní (výchozí 7); použité okno se ukládá u každé přiřazené objednávky, takže změna nastavení nepřepisuje historii.
- Záložka Statistiky: pro každou kampaň stav, počet příjemců, odeslané, neúspěšné, otevření, míra otevření, přiřazené tržby a data zahájení a ukončení.
- Dashboard s výběrem období (celé období, 7, 30 nebo 90 dní) a sedmi bloky: klíčové ukazatele, graf odeslání a otevření v čase, databáze odběratelů, stav doručitelnosti, odhlášení, poslední kampaně a nejúspěšnější kampaně.
- Stránka „Zobrazit v prohlížeči“ pro každou kampaň, personalizovaná pro příjemce a fungující i pro dosud neodeslanou kampaň.
- Stránka odhlášení bez přihlášení, zabezpečená tokenem: vstup přes odkaz zobrazí potvrzovací stránku a k odhlášení dojde až po jejím potvrzení — díky tomu bezpečnostní skenery pošty a náhledy odkazů nikoho omylem neodhlásí.
- Odhlášení současně aktualizuje souhlas zákazníka v PrestaShopu, záznam v tabulce přihlášení hostů i položku v importovaném seznamu a adresa se dostane na společný seznam odhlášených.
- Registr souhlasů: zdroj adresy, zaznamenaný důkaz (datum a IP adresa přihlášení), informace, zda je možné na adresu odesílat, poslední událost zaznamenaná modulem a export všeho do CSV.
- Seznam odhlášených s vyhledávačem a možností odstranit záznam, když příjemce znovu požádá o přihlášení.
- Duplikování kampaní a sedm jednoznačných stavů: pracovní, připravená, naplánovaná, během odesílání, pozastavená, dokončená a zastavená.
- Zmrazení kampaně při přípravě: obsah, ceny, produkty i seznam příjemců jsou zafixovány v okamžiku přípravy, a ne znovu načítány v okamžiku skutečného odeslání.
Doručitelnost zpráv
- Kontrola metody odesílání pošty v PrestaShopu: obchod nastavený na „nikdy neposílat e-maily“ je odhalen před spuštěním, místo aby byla celá kampaň vykázána jako doručená.
- Kontrola adres na obálce (BCC a Reply-To) před odesláním — jedna adresa v doméně nepřijímající poštu může zablokovat celou zprávu spolu se všemi skutečnými příjemci.
- Čtení záznamů SPF a DMARC domény odesílatele a kontrola klíče DKIM pro selektor používaný PrestaShopem.
- Porovnání adresy odesílatele s doménou obchodu — hromadné odesílání z cizí domény (např. z bezplatné schránky) je nejčastější příčinou pádu do spamu.
- Hlavičky
List-UnsubscribeaList-Unsubscribe-Postv souladu s RFC 8058, díky nimž poskytovatelé schránek zobrazují vlastní tlačítko pro odhlášení (PrestaShop 1.7.5 a novější). - Vynucení přítomnosti odkazu pro odhlášení v každém uloženém jazyce kampaně — jeho absence blokuje odeslání.
- Krátká pauza po každé zprávě a práce po dávkách, aby nedocházelo k přetěžování poštovního serveru a narážení na limity odesílání.
- Rozlišení dočasných odmítnutí (kódy 4xx — např. greylisting, plná schránka) od trvalých (kódy 5xx — např. neexistující adresa), viditelné u každé skupiny chyb.
Souhlasy, odhlášení a osobní údaje
- Registr souhlasů čte důkazy přímo z PrestaShopu při každém dotazu (datum přihlášení k newsletteru, IP adresa přihlášení, adresa odkazující stránky) — nevytváří vlastní kopii, která by se mohla rozjet s obchodem.
- Adresa bez zaznamenaného data přihlášení je popsána jako „chybí důkaz“, nikoli jako souhlas — modul nikdy nedosazuje datum založení účtu ani datum nahrání CSV souboru místo data souhlasu.
- Vlastní deník událostí modulu zaznamenává výhradně to, co PrestaShop neukládá: import adresy z CSV souboru, odhlášení přes odkaz modulu a změny příslušnosti k mailingovým seznamům.
- Odhlášení platí v celé instalaci: adresa odhlášená v jedné kampani a v jednom obchodě je vyloučena ze všech budoucích kampaní ve všech obchodech.
- Adresa ze seznamu odhlášených zůstává vyloučena bez ohledu na to, kolikrát bude znovu importována nebo přepnuta na aktivní.
- Export registru souhlasů do souboru CSV pro účely dokumentace a kontroly.
- Sledování otevření lze zcela vypnout, pokud je na daném trhu neohlášený sledovací pixel považován za otázku souhlasu.
Multistore a vícejazyčnost
- Kampaň patří přesně jednomu obchodu — její příjemci, ceny produktů i název a adresa obchodu v obsahu pocházejí z tohoto obchodu, nikdy z aktuálního kontextu panelu.
- Seznam odhlášených a importovaný seznam jsou společné pro celou instalaci, což je vědomé rozhodnutí: odmítnutí přijímání zpráv se týká osoby a adresy, nikoli jednoho z obchodů.
- Předmět a obsah zprávy se nastavují zvlášť pro každý jazyk obchodu, s nouzovým návratem k výchozímu jazyku, když daný jazyk nemá vlastní obsah.
- Filtr jazyků příjemců ve fázi výběru adresátů; adresy z importu bez vlastního jazyka se počítají jako výchozí jazyk obchodu.
- Značky adres stránek obchodu se rozvíjejí v jazyce příjemce s použitím přívětivých URL adres tohoto jazyka.
Bezpečnost a dopad na obchod
- Modul neregistruje žádný hook zobrazující obsah na frontendu, takže nic nepřidává na stránky katalogu, košíku ani objednávky.
- Jediné vlastní frontendové stránky jsou: odhlášení, náhled zprávy v prohlížeči, pixel otevření, přesměrování kliknutí a vstupní bod úlohy cron — stylesheet modulu se načítá výhradně na stránce odhlášení.
- Při instalaci modul vytváří dva pomocné indexy v tabulkách zákazníků a přihlášení k newsletteru, aby počítání příjemců neprocházelo celé tabulky; při odinstalaci jsou oba odstraněny.
- Zápis přiřazení prodeje se provádí při vytvoření a změně stavu objednávky v bloku zachycujícím všechny chyby — statistika newsletteru nemůže pokazit vytvoření objednávky.
- Odkazy pro odhlášení a náhled v prohlížeči jsou podepsány tajným instalačním klíčem; token je funkcí adresy a klíče, takže jej nelze uhodnout.
- URL adresa úlohy cron chráněná tajným klíčem — každé volání bez správného klíče dostane 403 a nic víc.
- Každý AJAX endpoint panelu kontroluje oprávnění profilu zaměstnance (náhled nebo úpravy) a kampaně jsou omezeny na obchod, ve kterém zaměstnanec pracuje.
- Stránka odhlášení nikdy nezobrazuje předanou e-mailovou adresu při chybném tokenu.
- Přesměrování kliknutí vždy končí na stránce obchodu, i při neznámém odkazu nebo chybě databáze — recept na to, aby se neztratila návštěva, kterou kampaň právě zaplatila.
Obchodní využití
- Pro obchody, které chtějí provozovat newsletter bez předplatného externího mailingového systému a bez předávání databáze adres.
- Pro obchody odesílající produktové kampaně — novinky, výprodeje, bestsellery — ve kterých se má obsah zprávy skládat ze skutečných produktů z katalogu.
- Pro prodejce, kteří musí doložit základ odesílání: registr souhlasů, deník odhlášení a export do CSV odpovídají na otázku „odkud máte moji adresu“.
- Pro obchody po migraci na PrestaShop 8 nebo 9, které potřebují newsletter fungující na aktuálním jádru a na PHP 8.x.
- Pro multistore obchody, ve kterých každý obchod vede vlastní kampaně, ale odhlášení mají platit všude.
- Pro prodejce získávající zpět neaktivní zákazníky — segmentace podle historie nákupů umožňuje vyčlenit ty, kteří nakupovali dříve, ale ne v posledních měsících.
Kompatibilita
- PrestaShop: 1.7.x – 9.x
- PHP: 7.0 – 8.5
- MySQL 5.6+ / MariaDB 10.x+
- Bez Composeru a bez externích PHP knihoven; TinyMCE 6.8.6 (licence MIT) přibalený v modulu.
- Odesílání probíhá přes poštovní konfiguraci samotného PrestaShopu (SMTP nebo funkce mail), bez externího API.
Odkaz na demo modulu:
Demo administrační panel:
https://moduly-prestashop.eu/pdnewsletterpro/admin-dev
Demo frontendový panel:
https://moduly-prestashop.eu/pdnewsletterpro