PS PrestaShop Średnio zaawansowany

Weryfikacja Emaili Klientów: kompletny przewodnik

Instalacja, konfiguracja i praca z weryfikacją dostarczalności adresów email oraz czyszczeniem bazy klientów w PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.0

Weryfikacja Emaili Klientów sprawdza rzeczywistą dostarczalność każdego adresu email w Twoim sklepie: składnię, istnienie domeny na podstawie rekordów MX oraz, opcjonalnie, sondę SMTP odpytującą serwer odbiorcy. Status każdego klienta (Poprawny, Nieprawidłowy, Ryzykowny, Niezweryfikowany) jest widoczny w dedykowanej zakładce panelu administracyjnego, gdzie możesz zweryfikować całą bazę partiami i jednym kliknięciem usunąć klientów z nieistniejącym adresem, bez ryzyka skasowania prawdziwego klienta. Ten przewodnik obejmuje instalację, konfigurację, poziomy weryfikacji i czyszczenie bazy.

Instalacja

  1. Pobierz archiwum dfemailcheck.zip ze swojego konta DataFirefly.
  2. Panel administracyjny PrestaShop, potem Moduły, potem Wgraj moduł: wyślij plik ZIP.
  3. Podczas instalacji moduł tworzy tabelę df_email_check, rejestruje hooki i dodaje zakładkę Klienci, potem Weryfikacja emaili.

Zgodny z PrestaShop 8.0 do 9.x, w PHP 7.4 do 8.3. Żadnych override szablonu, żadnych zależności Composera. Obsługa multisklepu, interfejs do przetłumaczenia.

Konfiguracja

Przejdź do Moduły, potem Weryfikacja Emaili Klientów, potem Konfiguruj.

Weryfikacja przy rejestracji

Gdy opcja Weryfikuj przy tworzeniu konta jest aktywna, każdy nowy klient jest sprawdzany automatycznie w momencie utworzenia konta (hook actionObjectCustomerAddAfter). Wykonywana jest wtedy wyłącznie szybka weryfikacja, czyli składnia i domena, aby nie spowalniać ścieżki zakupowej. Status jest przeliczany ponownie także wtedy, gdy klient zmieni swój adres email.

Blokada rejestracji

Opcja Blokuj rejestrację przy nieprawidłowej domenie odrzuca formularz rejestracji, gdy domena adresu nie ma żadnego rekordu MX ani A (hook actionValidateCustomerFormFields). Klient widzi wtedy komunikat błędu przy polu email. Domyślnie wyłączona.

Weryfikacja SMTP (zaawansowana)

Sonda SMTP potwierdza rzeczywiste istnienie skrzynki pocztowej, prowadząc dialog z serwerem odbiorcy (polecenie RCPT TO), z wykrywaniem serwerów catch-all. Towarzyszą jej trzy ustawienia:

  • Weryfikacja SMTP: włącza lub wyłącza sondę. Domyślnie wyłączona.
  • Adres nadawcy SMTP: adres podawany podczas dialogu (MAIL FROM).
  • Timeout SMTP: maksymalny czas oczekiwania na serwer, w sekundach (domyślnie 6).

Weryfikacja SMTP wymaga otwartego portu 25 wychodzącego, bardzo często zablokowanego na hostingach współdzielonych. Bez niej weryfikacja kończy się na domenie, co i tak wykrywa zdecydowaną większość fałszywych adresów.

Bezpieczeństwo usuwania

  • Chroń klientów z zamówieniami: blokuje usunięcie każdego klienta, który ma co najmniej jedno zamówienie, aby uniknąć osieroconych zamówień. Domyślnie włączone.
  • Rozmiar partii: liczba klientów przetwarzanych w jednym przebiegu weryfikacji masowej (domyślnie 50).

Poziomy weryfikacji

Kontrola przebiega na trzech poziomach, od najszybszego do najdokładniejszego:

  • Składnia: walidacja formatu adresu.
  • Domena: wyszukanie rekordów MX domeny, z zapasową kontrolą rekordów A/AAAA.
  • SMTP (opcjonalnie): dialog z serwerem odbiorcy w celu potwierdzenia skrzynki, z wykrywaniem serwerów catch-all.

Statusy

Każdy klient otrzymuje jeden z czterech statusów:

  • Poprawny: prawidłowa składnia i domena zdolna odbierać pocztę (oraz potwierdzona skrzynka, jeśli sonda SMTP jest aktywna).
  • Nieprawidłowy: jednoznacznie negatywny sygnał, czyli błędna składnia (bad_syntax), domena bez rekordu MX ani A (no_mx) albo wyraźne odrzucenie SMTP (smtp_rejected). To jedyni klienci, których można usunąć.
  • Ryzykowny: serwer w trybie catch-all (smtp_catch_all), czyli adres jest akceptowany, ale serwer przyjmuje też adresy nieistniejące. Nigdy nie jest usuwany automatycznie.
  • Niezweryfikowany: wynik nierozstrzygnięty, czyli przekroczony czas oczekiwania, zamknięty port, greylisting albo klient nigdy nie sprawdzany. Nigdy nie jest usuwany.

Kod szczegółowy (na przykład no_mx, smtp_catch_all) jest wyświetlany obok statusu na liście, aby wyjaśnić każdą decyzję.

Panel

Zakładka Klienci, potem Weryfikacja emaili wyświetla u góry pięć liczników: łączną liczbę klientów oraz liczbę poprawnych, nieprawidłowych, ryzykownych i niezweryfikowanych. Poniżej znajduje się pełna lista klientów, filtrowana według statusu. Weryfikację uruchamiają dwa przyciski:

  • Zweryfikuj nowych klientów: sprawdza wyłącznie klientów nigdy dotąd nieweryfikowanych.
  • Zweryfikuj wszystko ponownie: sprawdza ponownie całą bazę.

Przetwarzanie odbywa się partiami w AJAX, z paskiem postępu, co pozwala obsłużyć duże bazy bez przekroczenia limitu czasu. Sonda SMTP, jeśli jest włączona, działa wyłącznie podczas tych weryfikacji masowych.

Usuwanie nieprawidłowych klientów

Przycisk Usuń nieprawidłowych klientów kasuje za jednym razem wszystkich klientów ze statusem Nieprawidłowy. Klienci, którzy złożyli co najmniej jedno zamówienie, są pomijani, dopóki opcja ochrony pozostaje włączona. Możesz też działać na wybranych pozycjach przez akcje grupowe listy: Zweryfikuj zaznaczone ponownie lub Usuń zaznaczone. Usuwanie korzysta z natywnego mechanizmu PrestaShop (Customer::delete()) i czyści również tabelę wyników.

Usunięcie klienta jest nieodwracalne. Sprawdź licznik „Nieprawidłowe” i w razie potrzeby przefiltruj listę po tym statusie, aby skontrolować adresy przed czyszczeniem.

Bezpieczeństwo: zero fałszywych alarmów

Główna zasada modułu: adres nigdy nie zostaje oznaczony jako Nieprawidłowy na podstawie samego podejrzenia. Przekroczony czas oczekiwania, greylisting, zamknięty port SMTP lub odpowiedź tymczasowa (4xx) pozostawiają status Niezweryfikowany, który nigdy nie jest usuwany. Usunąć można wyłącznie klientów z jednoznacznie negatywnym sygnałem (składnia, brak MX/A, odrzucenie 5xx). W połączeniu z ochroną klientów z zamówieniami ta logika chroni przed skasowaniem prawdziwego klienta przez pomyłkę.

Zgodność i uwagi techniczne

  • PrestaShop 8.0 do 9.x, multisklep, interfejs do przetłumaczenia.
  • Kontroler administracyjny legacy (bez kontrolera Symfony) dla zgodności PS8/PS9.
  • Hooki: actionObjectCustomerAddAfter, actionObjectCustomerUpdateAfter, actionObjectCustomerDeleteAfter, actionValidateCustomerFormFields.
  • Endpoint AJAX w panelu administracyjnym przez czwarty argument getAdminLink(); renderowanie JSON przez dedykowaną metodę.
  • Tabela df_email_check: jeden rekord na klienta (email, status, kod szczegółowy, data kontroli).
  • Żadnych wywołań usług zewnętrznych: weryfikacja opiera się wyłącznie na DNS i opcjonalnie na bezpośrednim połączeniu SMTP.

FAQ i rozwiązywanie problemów

Weryfikacja SMTP zawsze zwraca „Niezweryfikowany”. Port 25 wychodzący jest prawdopodobnie zablokowany przez Twojego hostingodawcę. Wyłącz sondę SMTP: weryfikacja domeny (MX) wystarcza w większości przypadków.

Prawdziwi klienci pojawiają się jako „Ryzykowni”. Ich serwer pocztowy działa w trybie catch-all, czyli przyjmuje wszystkie adresy. To zachowanie serwera, a nie błąd; tacy klienci nigdy nie są usuwani automatycznie.

Czyszczenie nie usuwa żadnego klienta, mimo że licznik nieprawidłowych jest dodatni. Sprawdź opcję „Chroń klientów z zamówieniami”: nieprawidłowi klienci z zamówieniem są celowo pomijani.

Blokada rejestracji się nie uruchamia. Hook walidacji formularza zależy od wersji PrestaShop; jeśli Twoja wersja go nie wyzwala, weryfikacja i tak nastąpi tuż po utworzeniu konta, a klient pojawi się na liście ze statusem „Nieprawidłowy”.

Czy weryfikacja spowalnia rejestrację? Nie. Przy rejestracji wykonywana jest tylko szybka weryfikacja (składnia i domena). Sonda SMTP działa wyłącznie podczas weryfikacji masowych z panelu administracyjnego.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia