Mails komen niet aan of in spam? Oorzaken en oplossing

Komen mails van je website of domein niet aan, dan ligt het bijna altijd aan authenticatie en niet aan de mail zelf. Sinds februari 2024 filteren of weigeren Gmail en Yahoo, en sinds mei 2025 ook Outlook.com, mail die niet kan bewijzen dat ze van jouw domein komt. De oplossing: verstuur via een echte verzenddienst en zet drie DNS-records goed voor je domein: SPF, DKIM en DMARC. Bij een verder werkende site is dat meestal een paar uur werk voor een developer, geen nieuwe website.
Dit geldt voor het contactformulier, orderbevestigingen van je webshop, wachtwoord- en registratiemails, en ook voor je eigen zakelijke mail die bij klanten in de spam belandt. De oorzaken overlappen: het is telkens jouw domein dat mail verstuurt.
De eerste 15 minuten: dit check je zelf
- Zoek waar de mail is gebleven. Kijk in de map spam of ongewenste e-mail en test met een Gmail- en een Outlook.com-adres. Komt hij bij de ene in spam en bij de andere helemaal niet, dan weet je al meer.
- Zoek een bounce. Stuurde je zelf, dan staat in de foutmelding van "Mail Delivery Subsystem" of "postmaster" een code. Kopieer die.
550-5.7.26 ... DMARC policyvan Gmail en550 5.7.515van Outlook betekenen allebei: authenticatie mislukt. - Bekijk de headers van een mail die wel aankwam. In Gmail: bericht openen, drie puntjes, "Origineel weergeven". Daar staat bij SPF, DKIM en DMARC telkens PASS of FAIL. Maak een screenshot.
- Wat is er veranderd? Nieuwe hosting, overstap naar Microsoft 365 of Google Workspace, een nieuwe formulierplugin of een nieuwe nieuwsbrieftool zijn de klassiekers. Noteer de datum waarop het misging.
- Bekijk je DNS-records. Vul je domein in bij MXToolbox SuperTool en doe de SPF-, DMARC- en blacklistcheck. Twee SPF-records, geen DMARC-record of een blacklistvermelding zijn allemaal concrete aanknopingspunten.
- Laat een testscore maken. mail-tester.com geeft je een adres; stuur daar een bericht naartoe via je formulier of webshop en je krijgt een score met wat er misgaat.
Bewaar screenshots en foutcodes: ze besparen een developer betaalde tijd.
SPF, DKIM en DMARC in gewone taal
- SPF is een lijst in je DNS van de servers die namens je domein mogen mailen. Mailen je hosting, je mailprovider en je nieuwsbrieftool allemaal als jou, dan moeten ze er alle drie op staan. Je mag maar één SPF-record per domein hebben, met maximaal 10 DNS-lookups; anders faalt SPF met een permanente fout (RFC 7208).
- DKIM is een digitale handtekening op elk bericht. De verzenddienst ondertekent, de publieke sleutel staat in je DNS, zodat de ontvanger kan controleren dat het bericht echt van jou komt en onderweg niet is aangepast. Elke dienst heeft een eigen sleutel en dus een eigen DNS-record.
- DMARC koppelt die twee aan het adres dat je klant in het Van-veld ziet. Het vertelt de ontvanger wat te doen als een bericht faalt (niets, spam of weigeren) en waar dagelijkse rapporten heen moeten. In die rapporten zie je elke dienst die als jouw domein mailt, ook die je vergeten was.
Waar de meeste sites op struikelen is alignment: SPF of DKIM moet slagen voor hetzelfde domein als in het Van-adres. Een formulier dat als info@jouwwinkel.nl verstuurt vanaf een server die zich alleen als de hostingpartij authenticeert, telt niet mee.
Wat Gmail, Yahoo en Outlook nu eisen
| Mailprovider | Voor wie | Eis |
|---|---|---|
| Gmail (sinds 1 feb 2024) | Iedereen die naar Gmail mailt | SPF of DKIM, geldige forward en reverse DNS, TLS, spamratio onder 0,3% |
| Gmail | Meer dan 5.000 berichten per dag naar Gmail | SPF en DKIM, een DMARC-record (p=none mag), Van-domein aligned, unsubscribe met één klik bij marketingmail. Eenmaal bulkverzender, altijd bulkverzender |
| Yahoo (vanaf feb 2024) | Alle verzenders / bulkverzenders | Zelfde patroon: SPF of DKIM voor iedereen; SPF, DKIM, DMARC van minstens p=none en één-klik-uitschrijven voor bulk |
| Outlook.com, Hotmail, Live (sinds 5 mei 2025) | Meer dan 5.000 berichten per dag | SPF, DKIM en DMARC (minstens p=none, aligned). Wie faalt, gaat naar ongewenste e-mail en kan geweigerd worden met 550 5.7.515 |
Bronnen: richtlijnen van Google, Yahoo Sender Hub en postmasterbeleid van Microsoft. Google meldt dat het vanaf november 2025 de handhaving opvoert, met tijdelijke en permanente weigeringen. Weinig kmo's of mkb'ers sturen 5.000 mails per dag, maar de regels voor "alle verzenders" gelden wel voor jou.
Symptoom, waarschijnlijke oorzaak, wat te doen
| Symptoom | Waarschijnlijke oorzaak | Wat te doen |
|---|---|---|
| Contactformulier mailt niet meer na verhuizing van hosting | Nieuwe server staat niet in SPF, of de host blokkeert PHP mail() | Formulier via een SMTP- of API-verzenddienst laten mailen en die opnemen in SPF en DKIM |
| Formuliermails komen in spam | Formulier zet het adres van de bezoeker in Van, of gebruikt ongeauthenticeerde PHP mail() | Van = adres op je eigen domein, bezoeker in Reply-To, geauthenticeerde verzenddienst |
| Alles faalt sinds er een nieuwsbrief- of CRM-tool bij kwam | Iemand voegde een tweede SPF-record toe | Samenvoegen tot één SPF-record met alle includes |
| Je eigen Outlook- of Gmail-mail belandt bij klanten in spam | DKIM nooit aangezet na overstap naar Microsoft 365 of Google Workspace | DKIM-sleutel aanmaken in de beheeromgeving, publiceren, ondertekenen inschakelen |
| SPF faalt alleen soms | Meer dan 10 DNS-lookups in SPF | Ongebruikte diensten schrappen, bulktools naar een subdomein |
| Wachtwoord- of registratiemails van een nieuwe app komen nooit aan | App gebruikt nog de testmaildienst van het framework | Een productie-verzenddienst koppelen met eigen domeinrecords |
| Weigeringen met de naam van een blocklist | Gedeeld server-IP op een lijst door een andere site, of je site is gehackt | Blacklist checken, opruimen, verzending van de gedeelde server halen, delisting aanvragen |
| Bounce "5.7.26 DMARC policy" of "5.7.515" | DMARC op quarantine of reject gezet voordat alle verzenders klopten | De falende verzender repareren, of tijdelijk terug naar p=none |
De rij over de testmaildienst zien we vaak bij apps die snel met AI-tools zijn gebouwd. Supabase schrijft bijvoorbeeld dat de ingebouwde mail "not meant for production use" is, alleen naar je eigen team mailt en beperkt is tot 2 berichten per uur. Onze lanceerchecklist voor vibe-coded producten behandelt dit en vergelijkbare gaten.
Waarom websitemail faalt en wat het oplost
De meeste websites mailen op de goedkoopste manier: met de PHP-functie mail() of de gedeelde mailserver van de host. WPForms, maker van een van de populairste WordPress-formulierplugins, zegt het zonder omwegen: er is "no authentication, no retry logic, no logging", en op gedeelde hosting kan één slechte buur het gedeelde IP op een blacklist krijgen. Google zegt het in zijn hulpartikel over contactformulieren zo: een contactformulier dat automatisch berichten verstuurt, is een e-mailverzender voor je domein. Het heeft dus SPF en DKIM nodig, net als elke andere verzender.
De oplossing is een transactionele maildienst: een bedrijf dat alleen persoonlijke mails als bevestigingen en wachtwoordresets aflevert. Je krijgt DKIM-sleutels voor je domein, een log van elk bericht en zicht op bounces. De gepubliceerde prijzen (in dollar) zijn laag:
| Dienst | Gratis | Betaald vanaf |
|---|---|---|
| Postmark | 100 mails per maand | $15 per maand voor 10.000 mails |
| Resend | 3.000 per maand, max. 100 per dag | $20 per maand voor 50.000 mails |
| Amazon SES | AWS-tegoed voor nieuwe klanten | $0,10 per 1.000 mails |
| Mailgun, SendGrid, Brevo | Vergelijkbare diensten; check hun actuele plannen | |
In WordPress koppel je zo'n dienst met een SMTP-plugin; in een maatwerkapp is het een kleine codewijziging. Het lastige deel is DNS, alignment en alle verzenders goed krijgen.
DMARC invoeren zonder je eigen mail te blokkeren
Google raadt deze volgorde voor DMARC aan:
- Zet SPF en DKIM minstens 48 uur vóór DMARC goed.
- Publiceer
v=DMARC1; p=none; rua=mailto:dmarc@jouwdomein.nl. Er wordt niets geblokkeerd; je krijgt rapporten. - Lees de rapporten minstens een week. Elke dienst die er niet aligned in staat, moet je repareren: de boekingstool, het facturatiepakket, het oude formulier.
- Ga naar
p=quarantinemet een kleinepct=-waarde en verhoog die tot 100. - Pas daarna overweeg je
p=reject.
Meteen naar reject springen is de klassieke zelfveroorzaakte storing: je facturen of orderbevestigingen bouncen nog dezelfde dag. Wil je alleen aan de regels van Gmail, Yahoo en Outlook voldoen, dan volstaat p=none met rapporten.
Wanneer bel je een developer?
- Orderbevestigingen of wachtwoordmails komen niet aan. Dat kost elk uur omzet en supportvragen. Behandel het als een storing.
- Je ziet bounces met 5.7.26, 5.7.515 of de naam van een blocklist en weet niet welke verzender de boosdoener is.
- Je weet niet welke diensten als jouw domein mailen. De DMARC-rapporten vertellen het, maar iemand moet ze lezen.
- De blacklistvermelding komt van een gehackte site. Delisten voor het lek dicht is, levert een nieuwe vermelding op. Zie onze checklist voor een gehackte WordPress-site.
- Wie je mail instelde, is onbereikbaar.
Wat je klaar moet hebben
- Login voor je DNS (vaak bij je domeinregistrar of Cloudflare), of iemand die vandaag records kan aanpassen.
- Beheertoegang tot de website of app, de hosting en je mailprovider (Google Workspace, Microsoft 365 of de mail van je host).
- Een lijst van tools die als jou mailen: formulierplugin, webshop, nieuwsbrief, CRM, boekings- en facturatiesoftware.
- Je bounces, header-screenshots en de datum waarop het begon.
- Een account bij een verzenddienst, of toestemming om er een op jouw naam aan te maken, zodat het van jou is.
Wat het kost bij We Do Dev Work
Prijzen exclusief btw, we rekenen de echte tijd:
- Spoedhulp: €75 per uur. Een senior developer begint dezelfde dag, geen minimum, geen intake. Buiten kantooruren kan; in het weekend betaal je 50% extra (€112,50 per uur). We tekenen een NDA als je dat wilt.
- Strippenkaart: €910 voor 14 uur (ongeveer €65 per uur). We beginnen binnen 24 uur, uren gaan eraf naarmate we werken, 4 maanden geldig. Handig voor "maak de mail nu werkend en ruim daarna SPF, DMARC en de andere verzenders netjes op".
- Abonnement: vanaf €480 per maand voor 8 uur, met updates en monitoring. Growth kost €1.920 voor 32 uur met reactie op dezelfde dag. Minimaal 3 maanden.
Eén fout record is vaak in de eerste uren gevonden en hersteld. Een site of app naar een verzenddienst verhuizen, DKIM voor elke tool instellen en DMARC uitrollen duurt langer; we vertellen je vooraf wat we verwachten. Ter vergelijking met spoedtarieven elders: wat een spoeddeveloper kost.
Hoe kies je?
- Order-, boekings- of wachtwoordmails falen nu: spoedhulp, vandaag nog.
- Mail komt aan maar in spam, geen haast: een strippenkaart, zodat de reparatie en de DMARC-uitrol in één vooruitbetaald blok passen.
- Je voegt steeds tools toe die mailen, of het ging al eerder mis: een abonnement, zodat iemand de DMARC-rapporten volgt en elke nieuwe verzender checkt.
- Je hebt een eigen developer: geef hem of haar dit artikel, de DMARC-stappen en toegang tot DNS. Het is goed gedocumenteerd werk.
Zo voorkom je het de volgende keer
- Laat alle mail van website en app via één geauthenticeerde verzenddienst lopen, nooit via PHP mail().
- Houd een DMARC-record met rua-rapporten en laat iemand ze maandelijks bekijken.
- Zet elke nieuwe tool in SPF en DKIM vóór hij zijn eerste mail stuurt, en houd het bij één SPF-record.
- Test je mail opnieuw bij elke wissel van host, domein, DNS-provider of mailprovider. Onze gids over kosten van websiteonderhoud laat zien wat een maandelijkse check kost.
- Verstuur je duizenden mails per dag, registreer je domein dan in Google Postmaster Tools om je spamratio bij Gmail te volgen. Bij lage volumes toont het geen data.
- Doe een gratis audit met EngineeringScore voor een snel beeld van beveiliging, snelheid en betrouwbaarheid van je site.
Krijgen klanten je mails niet?
Stuur ons je domein, de foutmelding of een screenshot via de pagina spoedhulp. Je hoeft niet te weten welk record fout staat. Een senior developer pakt het dezelfde dag op voor €75 per uur, zoekt de falende verzender en vertelt je wat er moet gebeuren voor de uren oplopen. Wil je liever dat iemand je mail en site elke maand gezond houdt, bekijk dan onze prijzen voor strippenkaarten en abonnementen.
Veelgestelde vragen
Waarom komt mail van mijn contactformulier niet aan of in spam?
Meestal omdat het formulier via ongeauthenticeerde PHP mail() of een gedeelde server mailt, of het adres van de bezoeker in het Van-veld zet. Verstuur vanaf een adres op je eigen domein via een geauthenticeerde verzenddienst met SPF en DKIM, en zet de bezoeker in Reply-To.
Waarom worden orderbevestigingen van mijn webshop niet verstuurd?
Vaak door een hostingverhuizing die de mailinstellingen brak, een host die PHP mail() blokkeert, of een DMARC-beleid dat de shopmail nu weigert. Check de maillog van de shop en de bouncecode, en koppel een transactionele maildienst.
Mag ik twee SPF-records hebben?
Nee. Volgens RFC 7208 geeft meer dan één SPF-record een permanente fout, waardoor SPF faalt voor al je mail. Voeg alle diensten samen in één record met maximaal 10 DNS-lookups.
Gelden de regels van Gmail en Outlook ook voor een klein bedrijf?
De strengste regels gelden boven 5.000 berichten per dag, maar Gmail en Yahoo eisen SPF of DKIM van alle verzenders. Het volledige pakket inclusief DMARC-record is bij elk volume de veiligste weg naar de inbox.
Met welk DMARC-beleid begin ik?
Begin met p=none en een rua-adres voor rapporten, zoals Google aanraadt. Na minstens een week schone rapporten ga je voor een klein percentage naar quarantine en verhoog je stap voor stap.
Hoe lang duurt het om dit op te lossen?
Een fout of dubbel DNS-record is snel hersteld, maar DNS-wijzigingen kunnen tot 48 uur nodig hebben om overal door te komen. Alle verzenders naar een geauthenticeerde dienst brengen en DMARC volledig uitrollen duurt een paar weken, vooral wachten en monitoren.
Gerelateerde artikelen

Webbouwer failliet of onbereikbaar? Zo krijg je alles terug
Je developer reageert niet meer of je webbureau is failliet. Zo krijg je je domeinnaam, hosting, code en app store-accounts terug, en wie het overneemt.


Checkout werkt niet in je webshop? Dit controleer je eerst
Checkout of iDEAL werkt niet in je Shopify- of WooCommerce-webshop? Checklist voor 15 minuten: statuspagina's, Mollie, plugins, caching, webhooks en SSL.


SSL-certificaat of domeinnaam verlopen? Zo los je het op
"Je verbinding is niet privé" of een parkeerpagina? Zo zie je of je SSL-certificaat of je domeinnaam verlopen is, haal je hem terug en voorkom je verlies.

