# E-mailverificatie van Klanten: volledige gids

> E-mailverificatie van Klanten controleert de werkelijke afleverbaarheid van elk e-mailadres in uw winkel: syntaxis, bestaan van het domein via zijn MX-records, en optioneel een SMTP-sonde die de server van de…

- Pagina: <https://www.datafirefly.com/nl/documentation/dfemailcheck/>
- Taal: nl
- Bijgewerkt op: 2026-09-16
- Andere talen: [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), [pl](https://www.datafirefly.com/pl/documentation/dfemailcheck/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfemailcheck/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

E-mailverificatie van Klanten controleert de werkelijke afleverbaarheid van elk e-mailadres in uw winkel: syntaxis, bestaan van het domein via zijn MX-records, en optioneel een SMTP-sonde die de server van de ontvanger bevraagt. De status van elke klant (Geldig, Ongeldig, Risicovol, Niet geverifieerd) verschijnt in een apart tabblad van de back-office, waar u de hele database in batches kunt verifiëren en met één klik de klanten kunt verwijderen van wie het e-mailadres niet bestaat — zonder ooit per ongeluk een echte klant te wissen. Deze gids behandelt de installatie, de configuratie, de verificatieniveaus en het opschonen van de database.

## Installatie

1. Download het archief `dfemailcheck.zip` vanuit uw DataFirefly-account.
2. PrestaShop back-office → **Modules** → **Een module uploaden** → verstuur de ZIP.
3. Bij de installatie maakt de module haar tabel `df_email_check` aan, registreert ze haar hooks en voegt ze het tabblad **Klanten → E-mailverificatie** toe.

Compatibel met PrestaShop 8.0 tot 9.x, in PHP 7.4 tot 8.3. Geen thema-override, geen Composer-afhankelijkheid. Compatibel met multistore en vertaalbaar.

## Configuratie

Ga naar **Modules → E-mailverificatie van Klanten → Configureren**.

### Verificatie bij registratie

Wanneer de optie **Verifiëren bij het aanmaken van het account** actief is, wordt elke nieuwe klant automatisch bij zijn aanmaak gecontroleerd (hook `actionObjectCustomerAddAfter`). Alleen de snelle verificatie — syntaxis en domein — wordt op dat moment uitgevoerd, om de bestelflow niet te vertragen. De status wordt ook herberekend wanneer een klant zijn e-mailadres wijzigt.

### Registratie blokkeren

De optie **Registratie blokkeren bij ongeldig domein** weigert het registratieformulier wanneer het domein van het e-mailadres geen enkel MX- of A-record heeft (hooks `additionalCustomerFormFields` en `validateCustomerFormFields`). De klant ziet dan een foutmelding op het e-mailveld. Standaard uitgeschakeld.

### SMTP-verificatie (geavanceerd)

De SMTP-sonde bevestigt het werkelijke bestaan van de mailbox door met de server van de ontvanger te dialogeren (commando `RCPT TO`), met detectie van catch-all-servers. Drie instellingen horen erbij:

- **SMTP-verificatie**: schakelt de sonde in of uit. Standaard uitgeschakeld.
- **SMTP-afzenderadres**: adres dat tijdens de dialoog wordt aangekondigd (`MAIL FROM`).
- **SMTP-time-out**: maximale wachttijd per server, in seconden (standaard 6).

De SMTP-verificatie vereist **uitgaande poort 25**, die op gedeelde hostings zeer vaak gesloten is. Zonder haar stopt de verificatie bij het domein — wat al de grote meerderheid van de valse adressen detecteert.

### Verwijderveiligheid

- **Klanten met bestellingen beschermen**: verhindert het verwijderen van elke klant met minstens één bestelling, om verweesde bestellingen te vermijden. Standaard ingeschakeld.
- **Batchgrootte**: aantal klanten dat per doorloop wordt verwerkt bij de massaverificaties (standaard 50).

## De verificatieniveaus

De controle verloopt in drie niveaus, van het snelste naar het preciesste:

- **Syntaxis**: validatie van het adresformaat.
- **Domein**: opzoeken van de MX-records van het domein, met terugval op de A/AAAA-records.
- **SMTP (optioneel)**: dialoog met de server van de ontvanger om de mailbox te bevestigen, met detectie van catch-all-servers.

## De statussen

Elke klant krijgt een van de volgende vier statussen:

- **Geldig**: correcte syntaxis en ontvangend domein (en bevestigde mailbox als de SMTP-sonde actief is).
- **Ongeldig**: zeker negatief signaal — onjuiste syntaxis (`bad_syntax`), domein zonder MX of A (`no_mx`) of expliciete SMTP-weigering (`smtp_rejected`). Dit zijn de enige verwijderbare klanten.
- **Risicovol**: catch-all-server (`smtp_catch_all`) — het adres wordt geaccepteerd maar de server accepteert ook onbestaande adressen. Wordt nooit automatisch verwijderd.
- **Niet geverifieerd**: onbepaald resultaat — time-out, gesloten poort, greylisting of nooit gecontroleerde klant. Wordt nooit verwijderd.

De detailcode (bijvoorbeeld `no_mx`, `smtp_catch_all`) wordt naast de status in de lijst getoond, om elke beslissing te verklaren.

## Het dashboard

Het tabblad **Klanten → E-mailverificatie** toont bovenaan vijf tellers: totaal aantal klanten, geldig, ongeldig, risicovol en niet geverifieerd. Daaronder is de volledige klantenlijst filterbaar op status. Twee knoppen starten de verificatie:

- **Nieuwe klanten verifiëren**: controleert alleen de nooit geverifieerde klanten.
- **Alles opnieuw verifiëren**: controleert de hele database opnieuw.

De verwerking gebeurt in batches via AJAX, met een voortgangsbalk, waardoor grote databases zonder time-out kunnen worden verwerkt. De SMTP-sonde wordt, indien ingeschakeld, alleen tijdens deze massaverificaties gebruikt.

## Ongeldige klanten verwijderen

De knop **Ongeldige klanten verwijderen** wist in één keer alle klanten met de status _Ongeldig_. Klanten die minstens één bestelling hebben geplaatst, worden genegeerd zolang de beschermingsoptie actief is. U kunt ook op een precieze selectie werken via de **bulkacties** van de lijst: _Selectie opnieuw verifiëren_ of _Selectie verwijderen_. Het verwijderen gebruikt het native mechanisme van PrestaShop (`Customer::delete()`) en schoont ook de resultatentabel op.

Het verwijderen van een klant is definitief. Controleer de teller "Ongeldig" en filter zo nodig de lijst op deze status om de adressen vóór de opschoning na te kijken.

## Veiligheid — nul valse positieven

De centrale regel van de module: een adres wordt nooit als _Ongeldig_ gemarkeerd op basis van een simpele twijfel. Een time-out, greylisting, een gesloten SMTP-poort of een tijdelijk antwoord (4xx) laten de status op _Niet geverifieerd_, nooit verwijderd. Alleen zekere negatieve signalen (syntaxis, afwezigheid van MX/A, 5xx-weigering) maken een klant verwijderbaar. Gecombineerd met de bescherming van klanten met bestellingen voorkomt deze logica dat een echte klant per ongeluk wordt gewist.

## Compatibiliteit en technische notities

- PrestaShop 8.0 tot 9.x, multistore. Interface geleverd in FR, EN, ES, IT, DE en PL.
- Legacy beheercontroller (geen Symfony-controller) voor de PS8/PS9-compatibiliteit.
- Hooks: `actionObjectCustomerAddAfter`, `actionObjectCustomerUpdateAfter`, `actionObjectCustomerDeleteAfter`, `additionalCustomerFormFields`, `validateCustomerFormFields`.
- Back-office AJAX-endpoint via het 4e argument van `getAdminLink()`; JSON-rendering door een aparte methode.
- Tabel `df_email_check`: één record per klant (e-mail, status, detailcode, controledatum).
- Geen enkele aanroep van een externe dienst: de verificatie steunt uitsluitend op de DNS en, optioneel, op een directe SMTP-verbinding.

## FAQ en probleemoplossing

**De SMTP-verificatie geeft altijd "Niet geverifieerd" terug.** De uitgaande poort 25 is waarschijnlijk gesloten door uw hoster. Schakel de SMTP-sonde uit: de domeinverificatie (MX) volstaat in de meeste gevallen.

**Legitieme klanten verschijnen als "Risicovol".** Hun mailserver is een catch-all (hij accepteert alle adressen). Dat is servergedrag, geen fout; deze klanten worden nooit automatisch verwijderd.

**De opschoning verwijdert geen enkele klant terwijl de teller Ongeldig positief is.** Controleer de optie "Klanten met bestellingen beschermen": ongeldige klanten met een bestelling worden bewust genegeerd.

**De blokkering bij registratie wordt niet geactiveerd.** Sommige modules voor snelle login of pop-ups maken de klant aan zonder via het standaardformulier van PrestaShop te gaan; in dat geval blijft de verificatie verzekerd direct na het aanmaken van het account, en verschijnt de klant dan als "Ongeldig" in de lijst.

**Vertraagt de verificatie de registratie?** Nee. Bij de registratie wordt alleen de snelle verificatie (syntaxis en domein) uitgevoerd. De SMTP-sonde komt alleen tussen bij de massaverificaties vanuit de back-office.
