Een e-mailadres verifiëren zonder te versturen

Je hoeft iemand niet te mailen om te weten of zijn adres echt is. Verschillende technieken bevestigen een adres via het mailsysteem zelf, en deze gids legt elke techniek uit: waar hij werkt en waar hij tekortschiet.

Kort samengevat

Je kunt een e-mailadres verifiëren zonder te versturen door het formaat te controleren, te bevestigen dat het domein mailservers heeft en daarna een SMTP-handshake uit te voeren die stopt vóór de aflevering van een bericht. De betrouwbare versie is geen handmatige probe via de commandline, maar een gelaagde verificatie-API of bulkverificatie workflow die ook catch-all-, wegwerp- en rolgebaseerde resultaten afhandelt.

Waarom verifiëren zonder te versturen

De voor de hand liggende manier om een e-mailadres te testen, is het mailen en kijken of het bouncet. Dat werkt, maar het is de slechtst denkbare methode. Een bounce ontstaat pas nadat het bericht al bij een mailboxprovider is aangekomen, wat betekent dat de fout al tegen je afzenderreputatie wordt meegeteld. Test je een lijst op deze manier, dan heb je geleerd welke adressen slecht zijn door onderweg je positie te beschadigen. Je kunt ook niet stilletjes testen, want echte ontvangers krijgen een echt bericht.

Verifiëren zonder te versturen draait dit om. Je bevestigt of een adres mail kan ontvangen voordat je er ook maar één campagne op inzet. Er komt niets in een inbox, er bouncet niets en je reputatie blijft onaangetast. Dat kan omdat het mailsysteem draait op een protocol waarmee servers elkaar vragen kunnen stellen, en een verifier kan die vragen stellen zonder daarna echt iets af te leveren.

Er zijn verschillende methoden, van een eenvoudige formaatcheck tot een volledig gesprek met de ontvangende server. Elke methode beantwoordt een deel van de vraag, en begrijpen wat elke methode je wel en niet vertelt, is de sleutel om ze goed te gebruiken.

SMTP-verificatieworkflow die een adres controleert via DNS, MX en RCPT TO zonder een berichttekst te verzenden
De SMTP-check kan vragen of een ontvangende server een mailbox accepteert en stopt vóór het DATA-commando, zodat er geen bericht wordt afgeleverd.
MethodeWat het bewijstBelangrijkste beperking
SyntaxcheckHet adres is correct opgebouwd.Het kan niet bewijzen dat het domein of de mailbox bestaat.
MX-lookupHet domein publiceert mailservers.Het zegt niets over de specifieke mailbox.
SMTP-handshakeDe serverresponse voor dat ontvangersadres.Catch-all-domeinen, greylisting en throttling kunnen het resultaat dubbelzinnig maken.
VerificatiedienstEen gelaagd deliverability-resultaat met risicocategorieën.Onzeker servergedrag heeft nog steeds eerlijke labels nodig, geen gokwerk.

Methode 1: syntaxvalidatie

De snelste check is puur structureel. Het formaat van e-mailadressen is vastgelegd in een specificatie genaamd RFC 5322, die precies definieert hoe een geldig adres eruitziet: een lokaal deel, een @-teken en een domein, met regels over welke tekens waar zijn toegestaan.

Syntaxvalidatie toetst een adres aan die regels. Het vangt adressen zonder @-teken, met spaties of ongeldige tekens, met een ontbrekend of onjuist opgemaakt domein, of met een lokaal deel dat de specificatie overtreedt. Er is helemaal geen netwerkverbinding voor nodig, dus het is direct en gratis, en het filtert een flink deel van de slechte adressen eruit, meestal simpele typefouten bij het invoeren.

De beperking is fundamenteel. Syntaxvalidatie bewijst alleen dat een adres correct is opgebouwd. Het kan niet bewijzen dat het adres bestaat. Het adres valid.but.fake@gmail.com heeft volkomen geldige syntax en is vrijwel zeker geen echte mailbox. Zie syntaxvalidatie als eerste filter, nooit als eindoordeel.

Methode 2: domein- en MX-record-lookup

De volgende stap gaat van het adres naar het domein. Elk domein dat e-mail kan ontvangen, publiceert DNS-records die MX-records heten, kort voor Mail Exchanger. Deze records wijzen de servers aan die namens het domein mail accepteren.

Een MX-lookup vraagt de MX-records van het domein op in DNS. Heeft het domein geldige MX-records, dan is het ingericht om e-mail te ontvangen en bestaat er een aanspreekpunt. Heeft het domein geen MX-records, dan kan het helemaal geen mail ontvangen en is elk adres op dat domein ongeldig, hoe het ook gespeld is. Deze stap is uitstekend in het vangen van dode domeinen, die voortdurend opduiken in oudere lijsten doordat bedrijven stoppen of een nieuwe naam krijgen.

De beperking is dat een domeincheck op het verkeerde niveau werkt. Bevestigen dat gmail.com MX-records heeft, vertelt je dat Google mail kan ontvangen. Het vertelt je niets over of één specifieke Gmail-mailbox bestaat. Domein- en MX-validatie verkleint het veld, maar kan een individueel adres niet beoordelen.

Methode 3: de SMTP-check, of pingen

Dit is de methode die echt een specifieke mailbox onderzoekt zonder ernaar te versturen. Het wordt vaak het pingen van een e-mailadres genoemd, al is die naam misleidend. Het heeft niets te maken met het ICMP-pingcommando voor netwerkdiagnose. Bij email-verificatie betekent pingen dat je een SMTP-gesprek voert met de ontvangende server.

SMTP, het Simple Mail Transfer Protocol, is de taal waarmee mailservers berichten aan elkaar doorgeven. Een normale aflevering volgt een vaste reeks commando's. De SMTP-check doorloopt die reeks, maar stopt één stap eerder.

Het werkt zo. De verifier opent een verbinding met de mailserver van de ontvanger, de server die in de MX-lookup is gevonden. Hij wisselt begroetingen uit met EHLO of HELO en identificeert zich. Hij geeft een afzender op met het MAIL FROM-commando. Daarna geeft hij RCPT TO, met het exacte adres dat wordt geverifieerd. De ontvangende server antwoordt met een statuscode. Een 250-code betekent dat de server mail voor dat adres accepteert. Een 550-code betekent dat hij het adres weigert, meestal omdat de mailbox niet bestaat. De verifier leest die code en geeft daarna QUIT om de verbinding te sluiten. Hij stuurt nooit het DATA-commando. DATA is de stap waarin de eigenlijke inhoud van het bericht zou worden verzonden, en omdat het gesprek vóór DATA eindigt, wordt er nooit een e-mail afgeleverd. De mailbox is gecontroleerd en de ontvanger heeft niets gekregen.

Dit is de kern van verifiëren zonder te versturen. Het is ook het punt waar de echte complicaties beginnen.

Waar SMTP-checks in de problemen komen

Een SMTP-check klinkt definitief, maar verschillende veelvoorkomende servergedragingen maken een ruwe, handmatige check onbetrouwbaar.

Catch-all-domeinen

Sommige domeinen zijn ingesteld als catch-all, wat betekent dat de server mail accepteert voor elk mogelijk adres op het domein, of de mailbox nu bestaat of niet. Een catch-all-server geeft een 250-code terug voor een echt adres, een verkeerd gespeld adres en een volkomen willekeurig adres. Een SMTP-check op een catch-all-domein vertelt je op mailboxniveau dus niets definitiefs, omdat het antwoord altijd ja is. Om een catch-all te detecteren, test je het domein met een willekeurig adres en zie je dat ook dat wordt geaccepteerd. Dit is detectie, geen kwaliteitsscore, en het vertelt je dat het adres niet afzonderlijk bevestigd kan worden.

Greylisting

Sommige servers geven bewust een tijdelijke foutcode terug de eerste keer dat ze een onbekende afzender zien, in de verwachting dat een legitieme mailserver het kort daarna opnieuw probeert. Een naïeve check die deze tijdelijke code als permanente fout leest, markeert een prima adres ten onrechte als ongeldig. Correcte afhandeling betekent tijdelijke codes herkennen en ze niet als definitief antwoord behandelen.

Blokkering van probes

Dit is in de praktijk de doodsteek voor handmatige checks. Grote providers zoals Google en Microsoft letten op herhaalde SMTP-probes vanaf één IP-adres en zien dat als verkenning, het soort gedrag waarmee spammers naar geldige adressen zoeken. Hun reactie is het IP dat de probes stuurt direct te blokkeren. Probeer je een lijst te verifiëren met handmatige SMTP-checks vanaf je eigen server of een Telnet-sessie, dan krijg je een handvol antwoorden en zie je daarna dat je IP geblokkeerd is, waarna de resterende checks om de verkeerde reden mislukken. Handmatige SMTP-verificatie schaalt niet, en op volume werkt het helemaal niet.

Methode 4: een gespecialiseerde verificatiedienst

De methoden hierboven verifiëren elk één stukje van de puzzel, en elk heeft op zichzelf een echte zwakte. Een gespecialiseerde verificatiedienst bestaat om ze allemaal samen uit te voeren, de randgevallen correct af te handelen en te werken op een schaal die handmatige checks niet halen.

VeriMails stapelt alle checks op elk adres. Het voert syntaxvalidatie uit volgens RFC 5322, doet de MX- en DNS-lookup en voert de hierboven beschreven live SMTP-handshake uit, allemaal zonder een bericht af te leveren. Daarbovenop komt catch-all-detectie, zodat accept-all-domeinen correct worden herkend in plaats van ten onrechte als geldig gemeld, detectie van wegwerpdomeinen, zodat tijdelijke wegwerpadressen worden gemarkeerd, en rolgebaseerde detectie, zodat adressen als info@ en support@ een label krijgen. Het herkent greylisting en andere tijdelijke responses en classificeert die correct in plaats van ze geforceerd als ongeldig te markeren. En het draait op infrastructuur die voor verificatie is ontworpen, dus het probleem van geblokkeerde probes dat handmatige checks onderuit haalt, houdt het niet tegen.

Het resultaat is praktische verificatie zonder dat er ooit een e-mail wordt verstuurd. Je kunt de REST API gebruiken om één adres in realtime te verifiëren, ideaal om een aanmeldformulier te controleren op het moment dat het wordt verstuurd, of bulk-CSV-verificatie om een complete lijst op te schonen vóór een campagne. De prijzen beginnen bij $0.0019 per e-mail, met 10,000 credits voor $19 en pakketten tot 5 miljoen credits voor $1,499, en jaarplannen vanaf $12.50/maand bij jaarlijkse facturering. Elk account krijgt bij aanmelding 100 gratis credits, zonder creditcard, en die verlopen nooit. Zo kun je een echte lijst verifiëren zonder een echte e-mail te versturen en zelf het verschil zien.

Veelgestelde vragen

Ja. Een SMTP-verificatiecheck opent een verbinding met de mailserver van de ontvanger, doorloopt de handshake tot aan het RCPT TO-commando, leest de response van de server en verbreekt de verbinding vóór de DATA-fase waarin een bericht zou worden verzonden. Het adres wordt gecontroleerd, maar er wordt nooit een e-mail afgeleverd.
Een e-mailadres pingen is een informele term voor het SMTP-verificatieproces. Het gebruikt niet het ICMP-pingcommando. Het betekent een SMTP-gesprek openen met de ontvangende server, RCPT TO geven met het doeladres en de statuscode lezen die de server teruggeeft om te beoordelen of de mailbox bestaat.
Grote providers kunnen herhaalde handmatige SMTP-probes vanaf één IP als verdacht zien en ze blokkeren of afknijpen. Veel servers schakelen ook antwoorden op mailboxniveau uit of zijn ingesteld als catch-all, waardoor een handmatige check dubbelzinnige resultaten geeft. Een verificatiedienst stapelt meerdere checks en gaat betrouwbaarder om met dubbelzinnige responses.
Een gespecialiseerde verificatiedienst die alle checks combineert, is de betrouwbaarste optie. VeriMails voert op elk adres syntaxvalidatie, MX- en DNS-lookups, een live SMTP-handshake en detectie van catch-all-, wegwerp- en rolgebaseerde adressen uit, zonder dat er ooit een bericht wordt verstuurd.

Begin met schone data

100 gratis credits bij aanmelding. Geen creditcard nodig. Breng het advies vandaag nog in de praktijk.

Gratis starten
Geen creditcard nodig. Credits verlopen nooit.