Maile z PrestaShop nie dochodzą to jeden z najczęstszych problemów sklepów: klienci nie dostają potwierdzeń zamówień, sklep nie wysyła faktur, a powiadomienia do obsługi giną. W 90% przypadków przyczyną jest wysyłka przez domyślną funkcję mail() zamiast uwierzytelnionego SMTP — hosting blokuje takie wiadomości albo trafiają do spamu. Konfiguracja SMTP to 15 minut pracy, a diagnostyka dostarczalności u specjalisty 200–600 zł netto.
Najważniejsze: Maile z PrestaShop najczęściej nie dochodzą, bo: 1) sklep wysyła przez
mail()bez uwierzytelnienia (hosting blokuje lub spam), 2) SMTP jest źle skonfigurowany (zły port, brak szyfrowania, błędne hasło), 3) hosting ma limity wysyłki (np. 100 maili/h), 4) adres nadawcy nie przechodzi weryfikacji SPF/DKIM, 5) kolejka maili stoi (cron nie działa), 6) wiadomości trafiają do spamu klienta. Rozwiązanie: przełącz na SMTP z uwierzytelnianiem (własna domena lub zewnętrzny serwis), skonfiguruj SPF/DKIM/DMARC i przetestuj dostarczalność na kilka skrzynek.
- ## Krok 1: Ustal, gdzie giną maile
Zanim zmienisz konfigurację, ustal etap, na którym wiadomość ginie
- sklep w ogóle nie wysyła — błąd w logach, kolejka stoi, moduł mailowy wyłączony,
- sklep wysyła, ale klient nie dostaje — filtr spamu, blacklisty, odrzucenie przez serwer odbiorcy (SPF/DKIM),
- dochodzą tylko niektóre — limity hostingu, rate limiting operatora poczty,
- dochodzą do klientów, nie dochodzą do obsługi — błędny adres lub reguła w skrzynce firmowej.
Sprawdź var/logs/ oraz logi hostingu pod kątem błędów SMTP (Connection refused, Authentication failed, 550). W PrestaShop 1.7+/8/9 logi maili znajdziesz też w panelu (Parametry zaawansowane → E-mail) przy włączonym logowaniu.
- ## Krok 2: Przełącz z mail() na SMTP
To najważniejsza zmiana. Domyślna funkcja mail() PHP
- nie ma uwierzytelniania — serwery odbiorców coraz częściej odrzucają takie wiadomości,
- jest nagminnie blokowana przez hostingi (antyspam),
- nie daje żadnej informacji zwrotnej — nie wiesz, czy mail wyszedł.
Konfiguracja SMTP w PrestaShop 1.7+/8/9: panel → Parametry zaawansowane → E-mail → Ustaw parametry poczty → wybierz „Ustaw własny serwer SMTP" i podaj:
| Parametr | Wartość (przykład) |
|---|---|
| Serwer SMTP | smtp.twojadomena.pl lub smtp.zewnętrzny-serwis.com |
| Port | 587 (STARTTLS) lub 465 (SSL) |
| Szyfrowanie | TLS/SSL |
| Użytkownik | pełny adres e-mail |
| Hasło | hasło do skrzynki lub hasło aplikacji |
W PrestaShop 1.6: panel → Zaawansowane → E-mail, analogicznie. Po zapisaniu wyślij mail testowy wbudowanym przyciskiem i sprawdź, czy dochodzi — także na Gmaila i Outlooka, nie tylko na własną skrzynkę.
- ## Krok 3: Wybierz sposób wysyłki
Masz trzy realne opcje
| Opcja | Zalety | Wady |
|---|---|---|
| SMTP własnej domeny (hosting) | Bez dodatkowych kosztów, pełna kontrola | Limity hostingu, reputacja IP współdzielonego |
| Zewnętrzny serwis transakcyjny (np. Mailgun, Postmark, Brevo) | Wysoka dostarczalność, statystyki, brak limitów | Koszt od kilkunastu zł/mies., konfiguracja DNS |
| SMTP zewnętrznej poczty (Gmail Workspace, Outlook) | Znany interfejs, łatwa konfiguracja | Limity dzienne, hasła aplikacji, opóźnienia |
Dla sklepu z kilkudziesięcioma zamówieniami dziennie najlepszy kompromis to serwis transakcyjny — dostarczalność jest mierzalna, a statystyki pokazują odrzucenia. Przy małym wolumenie wystarczy SMTP własnej domeny.
- ## Krok 4: Skonfiguruj SPF, DKIM i DMARC
Nawet idealny SMTP trafi do spamu, jeśli domena nie ma poprawnych rekordów uwierzytelniających
- SPF — rekord TXT w DNS wskazujący serwery, które mogą wysyłać z Twojej domeny,
- DKIM — podpis kryptograficzny wiadomości (serwis wysyłkowy daje gotowy rekord do wklejenia),
- DMARC — polityka mówiąca odbiorcom, co robić z wiadomościami bez autoryzacji.
Rekordy ustawiasz w panelu DNS domeny. Po propagacji (do 24h) sprawdź je narzędziem typu mail-tester — powinieneś dostać ocenę 9–10/10.
- ## Krok 5: Sprawdź kolejkę i cron
PrestaShop 1.7+/8/9 wysyła część maili asynchronicznie przez kolejkę (ps_mailalert / kolejka maili w bazie). Jeśli cron nie działa:
- maile zalegają w tabeli kolejki i nie wychodzą,
- potwierdzenia dochodzą z opóźnieniem godzin albo wcale.
Sprawdź w hostingu, czy zadanie cron bin/console prestashop:mail:send-queue (lub odpowiednik dla Twojej wersji) wykonuje się regularnie. Zaległe maile możesz wypchnąć ręcznie z linii poleceń.
- ## Krok 6: Przetestuj dostarczalność
Test końcowy to nie „wysłałem — doszło na moją skrzynkę"
- wyślij potwierdzenie zamówienia testowego na skrzynki: Gmail, Outlook, WP.pl, Onet i firmową,
- sprawdź folder spam we wszystkich,
- użyj narzędzia mail-tester lub GlockApps — zobaczysz SPF, DKIM, DMARC i ocenę treści,
- powtórz test po 24h — część filtrów działa z opóźnieniem reputacyjnym.
Jeśli wiadomości trafiają do spamu mimo poprawnej konfiguracji, zweryfikuj treść maila: zbyt dużo linków, obrazy bez tekstu alternatywnego i agresywne słowa obniżają reputację.
Wskazówka: Dodaj do maili potwierdzających wersję tekstową (plain text). Sklepy wysyłające tylko HTML są częściej klasyfikowane jako spam, a klienci z klientami pocztowymi bez HTML nie widzą treści.
Kiedy problem leży po stronie sklepu, a kiedy hostingu
-
Hosting — limity wysyłki (często 100–500 maili/h), blokada portu 25, współdzielone IP z złą reputacją.
-
Sklep — zła konfiguracja SMTP, nieaktualny moduł mailowy, zepsuty szablon maila, kolejka bez crona.
-
Domena — brak SPF/DKIM/DMARC, zły adres nadawcy (np.
no-reply@bez skrzynki). -
Najszybsza diagnoza: wyślij maila testowego z panelu PrestaShop i z klienta poczty (np. Thunderbird) — jeśli z klienta dochodzi, a ze sklepu nie, problem jest w konfiguracji sklepu lub limicie hostingu.
Najczęściej zadawane pytania
Klienci nie dostają potwierdzeń zamówień — od czego zacząć?
Sprawdź, czy sklep wysyła maile w ogóle: wyślij test z panelu (Parametry zaawansowane → E-mail → Wyślij testowy). Jeśli test nie dochodzi — przełącz na SMTP z uwierzytelnianiem. Jeśli dochodzi, ale klienci nie dostają potwierdzeń — sprawdź szablon maila zamówienia, kolejkę i filtry spamu.
Czy zmiana na SMTP wymaga programisty?
Nie — konfiguracja SMTP to kilka pól w panelu PrestaShop (serwer, port, użytkownik, hasło). Programista przydaje się przy diagnozie nietypowych przypadków: kolejki maili, własnych modułów wysyłkowych, integracji z serwisem transakcyjnym przez API.
Maile trafiają do spamu — co poprawić?
Skonfiguruj SPF, DKIM i DMARC dla domeny nadawcy, wyślij test przez mail-tester i popraw treść maila (mniej linków, wersja tekstowa, poprawny adres nadawcy ze skrzynką). Reputacja buduje się kilka dni — po zmianach testuj regularnie.
Czy hosting może blokować maile ze sklepu?
Tak. Większość hostingów współdzielonych ogranicza liczbę wysyłanych wiadomości i blokuje port 25, a przy podejrzeniu spamu potrafi wstrzymać wysyłkę całkowicie. Rozwiązaniem jest zewnętrzny serwis transakcyjny albo przejście na VPS z własną reputacją IP.
Źródła i narzędzia
- PrestaShop DevDocs — konfiguracja e-mail
- Google — zasady wysyłki maili do Gmaila
- RFC 7208 — SPF
- mail-tester — test dostarczalności
👉 Potwierdzenia zamówień nie dochodzą do klientów? Zdiagnozujemy wysyłkę i skonfigurujemy SMTP z SPF/DKIM — formularz kontaktowy lub kontakt@informatix.com.pl. Zobacz też pomoc techniczna PrestaShop.
📖 Zobacz też: logi PrestaShop, checkout nie działa i pomoc PrestaShop.