Blueberry Studio
BlueNewsletter: kampanie mailingowe w PrestaShop
Moduł do wysyłki mailingów promocyjnych z panelu sklepu: wybierasz adresatów spośród zapisanych na newsletter, tworzysz treść HTML, testujesz, wysyłasz. Bez zewnętrznego narzędzia, bez opłat abonamentowych.
Moduł bluenewsletter • wersja 1.0.0 • PrestaShop 1.7 – 8.x
W jednym zdaniu: BlueNewsletter to wbudowana w sklep alternatywa dla MailChimpa czy MailerLite:
tworzysz kampanię, wybierasz komu wysłać (klienci zapisani na newsletter, goście-zapisani lub własna lista),
puszczasz. Moduł wysyła po jednej wiadomości z pauzą, każda dostaje wymagany prawnie link „Wypisz się”.
Zanim zaczniesz, najważniejsze pojęcia (przeczytaj, to zajmie minutę):
- Panel administracyjny (admin / back office): strona, na której zarządzasz sklepem. Wchodzisz przez swój specjalny adres (kończy się dziwnym ciągiem znaków, np.
/admin445rpri6annuyupxj60/) i logujesz się e-mailem i hasłem.
- Kampania: pojedynczy mailing. Ma temat, treść, listę odbiorców i status. Możesz mieć ich w bazie tyle, ile chcesz.
- Opt-in / newsletter: klient lub gość, który świadomie zaznaczył zgodę na newsletter (w koncie klienta albo w pasku „Zapisz się na newsletter” w stopce sklepu). Tylko do takich osób wolno wysyłać mailing marketingowy.
- SMTP: sposób, w jaki sklep łączy się ze swoim serwerem poczty (np. LH-owy), żeby wysłać wiadomość. Bez SMTP działa PHP-owy
mail(), ale gorzej dochodzi.
- SPF / DKIM / DMARC: wpisy DNS w domenie sklepu potwierdzające, że macie prawo wysyłać z tego adresu. Bez nich Gmail masowo wrzuca do SPAM-u.
1.Co dokładnie robi moduł
BlueNewsletter dodaje w panelu prostą aplikację do prowadzenia mailingów promocyjnych. Robi trzy rzeczy:
| Funkcja | Do czego |
| Kampanie | Zapisujesz temat, treść HTML i plaintext, nadawcę. Kampanię możesz otworzyć, poprawić, ponownie wysłać. |
| Audytoria | Wybierasz, kto dostanie mailing: klienci z kontem i włączonym newsletterem, goście z zapisu w stopce, obie grupy razem (bez dubli) lub własna lista wklejona ręcznie. |
| Wysyłka porcjami | Moduł wysyła po 20 maili na porcję z sekundową pauzą między nimi (konfigurowalne). Nie ma HTTP-timeoutów, widać pasek postępu na żywo, można okno zamknąć i wrócić. |
Do tego dochodzi link „Wypisz się” generowany automatycznie w każdym mailu, nagłówek List-Unsubscribe One-Click (nowy wymóg Gmaila od lutego 2024) i log wszystkich wypisów w bazie.
2.Instalacja / aktualizacja
- Zaloguj się do panelu administracyjnego sklepu.
- Z menu po lewej wybierz Moduły → Menedżer modułów.
- W prawym górnym rogu kliknij przycisk „Prześlij moduł” (lub „Wgraj nowy moduł”).
- Przeciągnij plik
bluenewsletter_v1.0.0.zip albo kliknij i wskaż go na dysku.
- Poczekaj na komunikat o powodzeniu. Jeśli moduł już istniał, zobaczysz informację, że został zaktualizowany.
- Jeśli widzisz przycisk „Zainstaluj”, kliknij go.
Po instalacji w menu pojawia się nowa pozycja „BlueNewsletter” w sekcji Statystyki. Tam idzie cała robota.
3.Jak wejść w moduł
Dwa sposoby, oba działają:
- Z menu: Statystyki → BlueNewsletter. To najkrótsza droga: widzisz listę kampanii.
- Z Menedżera modułów: wyszukaj „BlueNewsletter”, kliknij „Konfiguruj”. Przycisk przekieruje Cię w to samo miejsce.
4.Ustawienia globalne (raz na starcie)
W górnym pasku modułu kliknij „Ustawienia”. To wartości, które moduł podpowiada w każdej nowej kampanii i parametry techniczne wysyłki.
| Pole | Do czego |
| Nazwa nadawcy | Domyślna nazwa, którą klient widzi w skrzynce, np. Wolfly. Zawsze można nadpisać w konkretnej kampanii. |
| Email nadawcy | Adres, z którego wychodzi wiadomość, np. newsletter@wolfly.pl. Ważne Musi to być adres z Twojej domeny, dla której są ustawione SPF/DKIM/DMARC, inaczej Gmail wrzuci w spam. |
| Reply-To | Na jaki adres pójdzie odpowiedź, gdy klient kliknie „Odpowiedz” w skrzynce. Może być inny niż nadawca (np. kontakt@wolfly.pl). |
| Rozmiar porcji | Ile maili moduł wyśle w jednym „ruchu”, domyślnie 20. Nie ruszaj bez potrzeby. |
| Pauza między mailami (ms) | Ile milisekund odczekać po każdej wiadomości. Domyślnie 1000 (= 1 sekunda). Zmniejszenie przyspiesza, ale grozi limitami serwera SMTP. |
| Email admina | Adres na powiadomienia techniczne (np. gdy wysyłka się przerwie). |
Kliknij „Zapisz ustawienia”. Robisz to raz i wracasz tu tylko, jeśli chcesz coś zmienić.
5.Tworzenie kampanii
- Na liście kampanii kliknij „Nowa kampania” w prawym górnym rogu.
- Wypełnij pola:
- Nazwa wewnętrzna: dla Ciebie, klienci jej nie widzą. Np.
Garażówka lipiec 2026.
- Temat: to widać w skrzynce. Np.
Letnia garażówka WOLFLY — do 70% taniej.
- Nadawca / Email nadawcy / Reply-To: podpowiedziane z ustawień, możesz nadpisać.
- Treść HTML: pełny kod HTML wiadomości. W treści musi znaleźć się placeholder
{UNSUBSCRIBE_URL}, moduł nie pozwoli inaczej zapisać kampanii.
- Treść tekstowa (plain text): wersja bez formatowania, wysyłana równolegle. Skrzynki, które nie renderują HTML, pokażą tę wersję. Nie pomijaj, obecność wersji tekstowej poprawia dostarczalność.
- Kliknij „Zapisz”. Kampania startuje ze statusem draft (szkic).
Dostępne placeholdery w treści (moduł podmienia je dla każdego odbiorcy z osobna):
{UNSUBSCRIBE_URL} — link do wypisu, indywidualny dla adresata. Wymagany.
{EMAIL} — adres odbiorcy.
{FIRSTNAME} — imię, jeśli znane (dla zapisanych klientów).
6.Audytorium: kto dostanie mailing
W formularzu kampanii wybierz jedną z opcji:
| Opcja | Kogo obejmuje |
| Klienci z newsletterem | Zarejestrowani klienci, którzy w koncie mają zaznaczoną zgodę na newsletter (ps_customer.newsletter = 1). |
| Goście z newslettera | Osoby, które zapisały się przez pasek w stopce (moduł ps_emailsubscription), bez zakładania konta. |
| Wszyscy opt-in | Obie grupy razem, moduł sam usuwa duplikaty adresów. |
| Lista własna | Wklejasz adresy ręcznie (po jednym na linię lub oddzielone przecinkami). Używaj tylko, gdy masz świeże, wyraźne zgody. |
Audytorium „Lista własna” pomija wszystkie sprawdzenia opt-inów w bazie sklepu. Odpowiedzialność za zgodność
z RODO leży wtedy w całości na Tobie. W wątpliwych sytuacjach wybieraj któreś z pierwszych trzech.
Obok wyboru audytorium moduł od razu pokazuje liczbę adresatów: nie musisz tego zgadywać.
Osoby, które kiedykolwiek się wypisały z modułu, są automatycznie odsiewane z każdej kolejnej kampanii.
7.Test send: sprawdzenie przed właściwą wysyłką
Zanim puścisz mailing do setek osób, wyślij go do siebie.
- Otwórz zapisaną kampanię (status draft).
- W sekcji „Test send” wpisz swój adres, np.
piotr@wolfly.pl.
- Kliknij „Wyślij test”.
- Sprawdź skrzynkę (również SPAM).
Zwróć uwagę, czy: obrazki się załadowały, temat wygląda OK, link „Wypisz się” działa i prowadzi na stronę Twojego sklepu.
Test nie wpływa na statystyki kampanii ani na licznik odbiorców. Możesz go powtarzać, ile chcesz.
8.Wysyłka właściwa i pasek postępu
- W widoku kampanii kliknij „Zakolejkuj i przejdź do wysyłki”.
Moduł zbiera pełną listę adresatów, zapisuje ich w bazie i przenosi Cię na ekran wysyłki. Status kampanii zmienia się na queued.
- Sprawdź nazwę kampanii, temat i liczbę adresatów. Jak coś nie gra, klikasz „Wstecz”.
- Kliknij „Start wysyłki”. Status zmienia się na sending.
- Widzisz na żywo:
- Pasek postępu (procent wysłanych).
- Licznik OK / błędnych.
- Log po prawej: kolejne wysyłane adresy i status każdego.
- Kiedy licznik dojdzie do 100%, status skacze na sent. Gotowe.
Możesz zamknąć okno w trakcie wysyłki i wrócić później. Kampania nie ginie: przy ponownym wejściu w „Wysyłkę”
moduł dolicza wysłane wcześniej i pokazuje, ilu adresatów zostało. „Start wysyłki” wznowi tam, gdzie się zatrzymała.
Nie zamykaj okna przeglądarki, dopóki nie zobaczysz wznowienia z paska postępu.
Wysyłka rusza dopiero po pierwszym kliknięciu Start. Sam status queued nic nie robi, to tylko przygotowana kolejka.
9.Statystyki kampanii i wypisy
Otwierając kampanię ze statusem sent widzisz:
- Kafelki z liczbami: łącznie odbiorców, wysłane, nieudane, oczekujące.
- Listę błędnych: dla każdego adresu tekst błędu SMTP (np. „mailbox does not exist”, „relay denied”). Możesz sprawdzić i, jeśli chcesz, ręcznie ponowić.
- Datę startu i końca wysyłki oraz łączny czas.
- Listę wypisanych: kto kliknął „Wypisz się” z tej konkretnej kampanii.
Moduł nie zbiera na razie danych typu „ilu otworzyło”, „ilu kliknęło”. Do tego trzeba by dodać tracking pixel
i przekierowanie linków, co narusza prywatność i zwykle wymaga zgody. Jeśli będzie potrzeba, zrobimy w kolejnej wersji.
10.Aspekty prawne (RODO + Gmail 2024)
Trzy zasady, których musisz się trzymać:
- Zgoda dobrowolna i weryfikowalna. Wysyłaj tylko do osób, które same zaznaczyły zgodę
na newsletter. Nie kupuj list, nie importuj z Allegro, nie „dodaję sobie kilka adresów, i tak nam ufają”.
- Prosty sposób wypisania. Link
{UNSUBSCRIBE_URL} w treści + nagłówek
List-Unsubscribe w mailu to obowiązek. Moduł dokleja obydwa automatycznie.
- SPF, DKIM, DMARC. W panelu DNS domeny sklepu muszą być ustawione:
TXT SPF pozwalający wysyłać z serwera pocztowego (np. v=spf1 include:_spf.lh.pl -all)
- klucz
DKIM (dostajesz od operatora poczty)
- polityka
DMARC, minimum p=quarantine
Bez tego Gmail od lutego 2024 dla nadawców masowych odrzuca lub twardo wrzuca w SPAM.
11.Najczęstsze pytania i problemy
Wysyłka nie startuje po kliknięciu „Start”
- Otwórz w przeglądarce narzędzia deweloperskie (F12), zakładka Console. Jeśli widać czerwone błędy JS,
prawdopodobnie zderzył się jakiś inny moduł, daj znać.
- Sprawdź, czy w Zaawansowane → E-mail sklepu jest ustawiony SMTP i test-mail dochodzi. Wysyłka bez działającego SMTP też nie wystartuje.
Test-mail dochodzi, ale kampania kończy się „wysłane: 0, błędne: 500”
- Otwórz listę błędów w statystykach kampanii, tam jest tekst błędu SMTP. Najczęstsze przyczyny:
- „Rate limit exceeded” — obniż w Ustawieniach pauzę do
2000 ms i wyślij ponownie tylko błędne.
- „Sender not verified” — email nadawcy nie ma prawa wysyłać z tej domeny (brak DKIM/SPF).
- „Connection timed out” — hosting właśnie ubił połączenie. Zmniejsz rozmiar porcji do
10.
Klient mówi „ja się nie wypisałem, ale nie dostaję maili”
- Otwórz kampanię z ostatniej wysyłki, w liście wypisanych sprawdź, czy jego adres jest tam wymieniony.
- Jeśli jest, to gdzieś kliknął. To normalne (mogła to zrobić skrzynka automatycznie po oznaczeniu jako SPAM).
- Jeśli nie ma, ale jest w liście błędów — serwer poczty odbiorcy nas odrzuca. Poproś o dodanie nadawcy do znajomych.
Chcę wysłać mailing tylko do klientów z ostatnich 30 dni
- W MVP nie ma segmentacji po dacie zamówienia. Obejście: pobierasz listę CSV klientów z panelu (filtry po dacie),
wklejasz adresy w audytorium „Lista własna”. Segmentację można dodać w kolejnej wersji, jeśli będzie sens.
Odinstalowałem moduł, chcę wrócić do starych statystyk
- Moduł przy odinstalowaniu nie usuwa tabel z kampaniami ani logu wypisów. Po ponownej instalacji zobaczysz je od razu.
Zmieniłem sekret HMAC i linki „Wypisz się” ze starych maili przestały działać
- To celowe zabezpieczenie: sekret
BLUE_NEWSLETTER_UNSUB_SECRET podpisuje token wypisu.
Jeśli go zmienisz (albo reinstalka wygeneruje nowy), stare tokeny stają się nieważne. Nie zmieniaj sekretu po pierwszej wysyłce.