


Je contactformulier werkt niet en zo los je het op
Je contactformulier werkt niet en ondertussen lopen er leads weg zonder dat je het merkt. Het formulier lijkt te werken, maar berichten komen niet aan of verdwijnen in een foutmelding. Voor veel ondernemers bepaalt dit ene onderdeel of bezoekers daadwerkelijk klant worden. Gelukkig is dit probleem vaak op te lossen, en meestal hoef je er geen developer voor in te schakelen.
Het gaat bijna altijd om één van drie zichtbare symptomen: je ontvangt helemaal geen e-mail na het verzenden, het formulier verstuurt niet of toont een foutmelding, of het werkt alleen niet op je telefoon. In deze gids achterhaal je welk symptoom bij jouw situatie hoort, los je het op en controleer je daarna zwart-op-wit dat het formulier weer berichten oplevert.
Bij welk van de drie symptomen hoor jij?
Drie korte vragen wijzen je naar het hoofdstuk dat jouw probleem oplost. Kijk welke van de drie situaties hierboven op jou van toepassing is en beantwoord de vragen in de onderstaande beslissingsboom.

Welke oorzaak het stroomschema ook aangeeft, je belandt in een van de drie hoofdstukken hieronder. Ga naar het onderdeel dat bij jouw symptoom past - daar vind je de oorzaak én de oplossing.
Het formulier verzendt, maar je ontvangt geen e-mail
Je formulier verzendt wél, maar de mail komt nooit aan. Dan zit het probleem in de verzending, niet in het formulier zelf. Deze gids gaat uit van een WordPress-site met een formulierplugin zoals Contact Form 7, een gratis formulierplugin voor WordPress.
Controleer eerst waar het bericht blijft: kijk in je spamfolder. Als de mail daar terechtkomt, is de verzending gelukt maar wordt het bericht als spam gezien. Komt er helemaal niets aan? Dan blokkeert iets de verzending voordat de mail vertrekt.
Belandt de mail in je spamfolder? Dat gebeurt vaak met legitieme berichten. De standaardverzendroute van WordPress verstuurt e-mail zonder verificatie, en een afzenderadres dat niet bij je eigen domein hoort wekt wantrouwen bij spamfilters. Een betrouwbare aanpak: verstuur via een gecontroleerde verbinding met WP Mail SMTP, een plugin die de e-mailverzending van je website corrigeert, en zet het afzenderadres op een e-mailadres van je eigen domein. Controleer ook of je domein de afzender juist verifieert via SPF, DKIM en DMARC.
Komt er helemaal niets aan? Dan blokkeert je hostingprovider waarschijnlijk de standaardverzendroute. Je website verstuurt e-mail via SMTP, het protocol dat berichten naar de mailserver brengt. Veel hostingproviders blokkeren die standaardroute om misbruik te voorkomen, en sommige blokkeren ook de poort die WP Mail SMTP standaard gebruikt. In dat geval kun je overschakelen naar een API-mailer zoals Gmail of SendGrid via de plugin-instellingen.
Voor betrouwbare bezorging is het belangrijk dat de mailserver controleert of de afzender klopt. Dat doe je door je domein in te richten met de juiste verificatie-instellingen. SPF bevestigt welke servers namens jou mogen versturen, DKIM voegt een digitale handtekening toe aan elk bericht, en DMARC bepaalt wat er gebeurt als de eerste twee controles falen. Als je deze instellingen niet zelf kunt controleren, vraag dan je hostingprovider - de meeste bevestigen zo'n instelling snel via de chat.
Controleer of je e-mail als spam wordt herkend met Mail-tester.com, een gratis dienst waarmee je een testmail verstuurt naar een eenmalig adres. De score laat zien hoe spamfilters je bericht beoordelen.
| Score | Betekenis |
|---|---|
| 0-3 | Zeer slecht |
| 3-5 | Slecht |
| 5-7 | Acceptabel |
| 7-9 | Goed |
| 9-10 | Zeer goed |
Een score tussen 7 en 10 wijst op een goede verzending die de meeste spamfilters passeert. Een lagere score wijst op problemen met de verzending of verificatie. Let op: zelfs een hoge score garandeert niet dat je bericht in de inbox aankomt - sommige mailboxaanbieders gebruiken aanvullende filters, en je IP-adres of domein kan op een blacklist staan.
Stuur altijd een echte inzending via het formulier zelf om te controleren of het bericht in je inbox aankomt, niet in de spamfolder, en zonder foutmelding.
Het formulier verstuurt niet of geeft een foutmelding
Je klikt op verzenden en er gebeurt niets, of je krijgt een foutmelding. Dan komt de inzending niet eens de website uit - een ander soort probleem dan verdwenen mail.
Begin met de foutmelding zelf. Meldingen over verplichte velden of een verlopen beveiligingscheck wijzen meestal op de instellingen van het formulier. Open de instellingen van je formulierplugin en kijk welke onderdelen een fout tonen.
Spam-beveiliging zoals reCAPTCHA kan de verzending blokkeren. reCAPTCHA is Google's spam-beveiliging die controleert of een formulier door een echt persoon wordt ingevuld. Herken de typische fouten: een lege beveiligingstoken, een domeinnaam die niet bij de sleutel hoort, of een v2-sleutel die niet werkt met de v3-versie.
Kies je tussen reCAPTCHA v2 en v3? v2 toont een zichtbare checkbox of afbeeldingen, terwijl v3 onzichtbaar werkt met een score die jij instelt. De keuze hangt af van je tolerantie voor gedoe voor bezoekers en je technisch comfort.
| Aspect | v2 | v3 |
|---|---|---|
| Zichtbare uitdaging | Zichtbaar (checkbox of afbeeldingen) | Onzichtbaar (onzichtbare score) |
| Installatie | Script-configuratie vereist | Script-configuratie vereist |
| Wie bepaalt het niveau | Google bepaalt | Jij bepaalt (drempelwaarde instellen) |
| Risico op valse positieven | Laag (Google beheert de verificatie) | Hoger risico (jij beheert de drempelwaarde) |
Schakel bij twijfel eerst alle plugins uit behalve je formulierplugin en je thema, en test het formulier. Zet daarna de plugins één voor één terug om de boosdoener te vinden. Schakel caching volledig uit en leeg de caches. Soms blokkeert een beveiligingsplugin zoals Wordfence legitieme inzendingen - update de plugin eerst voordat je een regel uitschakelt.
Een koppeling met een externe dienst zoals Zapier kan de verzending blokkeren zonder foutmelding. Browsers gedragen zich soms eigenwijs: ooit accepteerde Safari het verzenden via Enter terwijl de verzendknop uitgeschakeld stond.
Blijft de pagina hangen of verbreekt je browser de verbinding? Dan duurt het versturen te lang. PHP, de techniek achter je website die e-mail verstuurt, heeft een maximale uitvoeringstijd van standaard 30 seconden. Herken de meldingen in Chrome, Firefox of Edge: meestal is de server te traag of de verbinding met een externe dienst te langzaam.
Komen er hardnekkige fouten terug die buiten deze stappen vallen? Denk aan serverinstellingen waar je geen toegang toe hebt. Dan is een developer de snelste oplossing.
Werkt het formulier weer? Dan verstuurt het zonder foutmelding, toont het een bevestiging en komt je testinzending aan.
Het formulier werkt alleen niet op je telefoon
Op de computer werkt het formulier wel, op je telefoon niet. Dan zoek je naar een andere oorzaak en test je op een andere manier.
Stuur het formulier eerst eens vanaf je computer. Faalt het daar ook? Dan is dit niet je hoofdstuk - ga terug naar het symptoom dat wél klopt.
Werkt het alleen op je telefoon niet? Dan ligt het aan mobiele omstandigheden, niet aan het formulier zelf. Mogelijke oorzaken: een trage of wisselende verbinding, de cache van je mobiele browser, of automatisch invullen door je browser of toetsenbord dat velden onverwacht vult of blokkeert.
In Chrome DevTools, de ontwikkelaarshulpmiddelen in je browser, bootst je een telefoonscherm na. Dat is handig voor een eerste check van de lay-out en invoervelden. Maar simulatoren geven niet altijd een betrouwbaar beeld - dat bevestigt ook Wei-Wei Wu, CEO van Momentic, in haar onderzoek naar mobiel testen.
Alleen simulatoren bieden onvoldoende betrouwbare dekking om met vertrouwen live te gaan - je loopt het risico dat fouten blijven bestaan en dat gebruikers ontevreden raken.
Test daarom minstens één keer op een echt toestel voordat je het probleem als opgelost beschouwt. Gebruik de verificatiechecklist hieronder om zeker te weten dat het formulier ook op je telefoon werkt.
Controleer of je contactformulier echt werkt
Gerepareerd is pas gerepareerd als je het kunt bewijzen. Stil falen blijft bestaan zolang je stopt bij "het lijkt te werken". Een testmail via de plugin zegt weinig - daarom toets je met een echte inzending via het formulier zelf.
| Verificatiestap | Gelukt? | |
|---|---|---|
| 1 |
Ik heb een echt testbericht verzonden via het formulier Dus niet alleen een testmail via de plugin, maar een echte formulierinzending
|
|
| 2 |
Het testbericht is in mijn reguliere inbox aangekomen
|
|
| 3 |
Het testbericht is niet in mijn spamfolder beland
|
|
| 4 |
Ik heb geen foutmelding gezien na het verzenden
|
|
| 5 |
Ik heb het formulier ook op mijn telefoon getest Op een echt toestel, niet alleen in een emulator
|
|
| 6 |
Ik heb een bevestigingsbericht gezien na verzenden
|
|
|
Kies bij elke stap Ja als die verificatie is gelukt, of Nee als dat niet zo is. |
||
|
Een of meer verificatiestappen zijn niet gelukt. Ga terug naar het onderdeel dat bij die stap hoort. |
||
Alle stappen op ja betekent dat het formulier werkt. Staat er ergens een nee? Ga dan terug naar het hoofdstuk dat bij die stap hoort. Als alles is afgevinkt, weet je zeker dat je formulier weer berichten oplevert.
Wat doe je als je er zelf niet uitkomt?
Er is een moment waarop zelf verder zoeken niets meer oplevert. Herken je dat aan een fout die terugkomt nadat je alle stappen hebt doorlopen, meldingen over serverinstellingen waar je geen toegang toe hebt, of als de tijd die je erin steekt niet meer opweegt tegen het resultaat. Dat je er niet uitkomt zegt niets over jou - een deel van deze oorzaken zit gewoon buiten het bereik van een site-eigenaar.
Hulp inschakelen is een logische volgende stap, geen toegeving. Er is altijd een volgende stap.
Veelgestelde vragen over een niet-werkend contactformulier
Wat zijn SPF, DKIM en DMARC, en waarom zijn ze belangrijk voor mijn contactformulier?
SPF, DKIM en DMARC zijn drie instellingen die controleren of e-mail die vanaf je website wordt verstuurd ook echt van jou komt. SPF bevestigt welke servers namens jou mogen versturen, DKIM voegt een digitale handtekening toe aan elk bericht, en DMARC bepaalt wat er gebeurt als de eerste twee controles falen. Als deze instellingen niet kloppen, blokkeren mailproviders je berichten of sturen ze naar de spamfolder. Nederlandse providers zoals KPN, T-Mobile en Ziggo blokkeren volgens hun eigen beleid poort 25, en veel hosts eisen SPF en DKIM voor betrouwbare bezorging.
Mijn Mail-tester-score is 8/10. Is dat goed genoeg?
Een score tussen 7 en 9 geldt als goed, en 9 of 10 als zeer goed. Een perfecte score garandeert niet dat je bericht in de inbox aankomt, omdat mailproviders extra filters gebruiken en blacklists mail soms volledig blokkeren. De gratis versie van Mail-tester.com laat drie tests per 24 uur toe, en het testadres blijft zeven dagen geldig. Met een account blijft het adres dertig dagen geldig.
Waarom blokkeert mijn hostingprovider SMTP-verzending?
Veel hostingproviders blokkeren uitgaande SMTP op poorten 25, 465, 587 en 2525 om spam te voorkomen. Bij sommige providers, zoals GoDaddy, InMotion, HostGator en Bluehost, is SMTP altijd geblokkeerd. Andere, zoals DigitalOcean, Linode en AWS EC2, blokkeren het standaard maar geven het na verzoek vrij. Beleid verschilt per provider en kan veranderen, dus controleer altijd de actuele situatie bij je host. Een oplossing is een alternatieve poort proberen, of overschakelen op een plugin zoals WP Mail SMTP die een betrouwbare verbinding met je mailserver maakt.
Wat is het verschil tussen reCAPTCHA v2 en v3?
reCAPTCHA v2 toont een zichtbare checkbox of afbeeldingen die bezoekers moeten oplossen, terwijl v3 onzichtbaar werkt met een score die jij instelt. Die score staat standaard op 0,50 en is via een PHP-filter aan te passen. Let op dat v2-sleutels niet werken met de v3-versie, en dat Contact Form 7 de recaptcha-tag negeert vanaf versie 5.1. Kies v2 als je wilt dat bezoekers de beveiliging zichtbaar zien, en v3 als je minder wrijving wilt maar bereid bent de score af te stemmen op je situatie.
Wat is Cloudflare Turnstile, en kan ik het gebruiken in plaats van reCAPTCHA?
Cloudflare Turnstile is een alternatief voor reCAPTCHA dat minder gegevens verzamelt en native werkt met Contact Form 7. Je voegt het toe via de turnstile-tag in je formulier, in combinatie met sleutels van Cloudflare. Turnstile is een logische keuze als privacy voor je belangrijk is, maar test het daarna altijd op je eigen site voordat je het als opgelost beschouwt.
Wat is een honeypot, en is het beter dan reCAPTCHA?
Een honeypot is een verborgen veld in je formulier dat alleen spam-bots invullen. Het is onzichtbaar voor bezoekers en gratis, maar geavanceerde bots kunnen het omzeilen. Bovendien kan automatische invulling door je browser het verborgen veld per ongeluk vullen, waardoor een legitieme inzending als spam wordt gemarkeerd. reCAPTCHA is sterker maar voegt voor elke bezoeker wrijving toe. Een honeypot past bij wie bezoekers zo min mogelijk in de weg wilt zitten, en reCAPTCHA bij wie maximale bescherming nodig heeft.
Wat betekenen SMTP-foutcodes zoals 550-5.7.1?
SMTP-foutcodes geven aan waarom een bericht niet wordt bezorgd. Codes die beginnen met 4 wijzen op een tijdelijk probleem: 421 betekent uitstel, 450 dat de mailbox tijdelijk niet beschikbaar is, 451 greylisting, waarbij de server de eerste poging bewust afwijst, en 452 een tekort aan opslagruimte. Codes die beginnen met 5 zijn definitief: 550 betekent afwijzing, bijvoorbeeld omdat het adres niet bestaat (5.1.1) of omdat de authenticatie wordt geweigerd of het IP-adres is gemarkeerd (5.7.1). Verder staat 552 voor een te groot bericht, 553 voor een ongeldige mailboxnaam en 554 voor een mislukte transactie, waaronder een DMARC-afwijzing. Gmail gebruikt eigen codes zoals 421-4.7.26 voor authenticatiefouten, en Microsoft 365 hanteert weer eigen compauth-codes.
Welke woorden triggeren spamfilters in mijn contactformulier?
Woorden als "gratis", "klik hier" en "actie vereist", en in het Engels "free", "act now" en "guaranteed", verhogen de kans dat je bericht als spam wordt gezien. Ook hoofdletters en veel uitroeptekens, vooral in de onderwerpregel, werken triggersend. Deze woorden zijn een risico-indicatie, geen garantie; hun weglaten verbetert je kansen maar biedt geen zekerheid.
Hoe los ik een Wordfence-blokkade op voor Contact Form 7?
Wordfence is een beveiligingsplugin voor WordPress die formulieren kan blokkeren als die een verdachte reactie detecteren. Bekende problemen zijn een firewallregel die legitieme inzendingen tegenhoudt, en een blokkade van het interne bestand dat formulierinzendingen verwerkt, wat een 403-fout oplevert. Werk eerst Wordfence en Contact Form 7 bij naar de nieuwste versie, want een update lost het probleem vaak al op. Lukt dat niet, schakel dan de specifieke regel tijdelijk uit in de Wordfence-firewall en voeg het eindpunt van Contact Form 7 toe aan de allowlist. Schakel Wordfence niet volledig uit, want de regel die blokkeert dekt een echte kwetsbaarheid.
Waarom werkt mijn contactformulier niet na het installeren van een cachingplugin?
Cachingplugins zoals WP Rocket of FlyingPress kunnen de verzending van Contact Form 7 blokkeren, vooral als meerdere cachinglagen tegelijk actief zijn. Ook Cloudflare-functies zoals Rocket Loader, Bot Fight Mode of WAF-regels op het eindpunt dat Contact Form 7 voor inzendingen gebruikt, kunnen het formulier verbreken. Schakel caching tijdelijk volledig uit en test het formulier. Werkt het dan weer, sluit het eindpunt van Contact Form 7 uit van caching, leeg alle caches en test opnieuw.
Waarom is testen op een echt toestel belangrijker dan een emulator?
Emulators zoals Chrome DevTools bootsen een telefoonscherm na, maar missen factoren zoals netwerkvertraging, geolocatie, hardware-sensoren en geheugenbeperkingen. Wei-Wei Wu, CEO van Momentic, waarschuwt dat simulators op zichzelf niet genoeg dekking geven om zonder risico live te gaan, omdat bugs erdoor kunnen glippen. Ze zijn wel geschikt als eerste check van lay-out en invoervelden. Test daarom minstens één keer op een fysiek toestel voordat je het probleem als opgelost beschouwt.
Waarom komt mijn testmail wel aan, maar mijn contactformulier nog steeds niet?
Een succesvolle testmail via WP Mail SMTP betekent dat de SMTP-verbinding werkt, maar garandeert niet dat het contactformulier zelf functioneert. Gebruikers melden dat de testmail aankomt terwijl formulierinzendingen alsnog mislukken, bijvoorbeeld doordat spamfilters de inzending blokkeren of een pluginconflict de verzending tegenhoudt. Ook spam-gevoelige woorden of een onjuist afzenderadres kunnen een rol spelen. Controleer daarom altijd met een echte inzending via het formulier zelf, niet alleen met een testmail.
Gerelateerde blogs
Meer weten? In ons blog delen we praktische kennis over webdesign, development, SEO, AI en trends