# Weryfikacja Emaili Klientów: kompletny przewodnik

> 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,…

- Strona: <https://www.datafirefly.com/pl/documentation/dfemailcheck/>
- Język: pl
- Zaktualizowano: 2026-08-28
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfemailcheck/index.md), [en](https://www.datafirefly.com/en/documentation/dfemailcheck/index.md), [es](https://www.datafirefly.com/es/documentation/dfemailcheck/index.md), [de](https://www.datafirefly.com/de/documentation/dfemailcheck/index.md), [it](https://www.datafirefly.com/it/documentation/dfemailcheck/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfemailcheck/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfemailcheck/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

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 (hooki `additionalCustomerFormFields` i `validateCustomerFormFields`). 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 dostępny w językach FR, EN, ES, IT, DE i PL.
- Kontroler administracyjny legacy (bez kontrolera Symfony) dla zgodności PS8/PS9.
- Hooki: `actionObjectCustomerAddAfter`, `actionObjectCustomerUpdateAfter`, `actionObjectCustomerDeleteAfter`, `additionalCustomerFormFields`, `validateCustomerFormFields`.
- 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.** Niektóre moduły szybkiego logowania lub popupy tworzą klienta z pominięciem standardowego formularza PrestaShop; w takim przypadku blokada nie działa, ale 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.
