technisch · antwoord met bronnen

Controleren of een e-maildomein geldig is

Om te controleren of een e-maildomein geldig is, voer je een DNS-lookup uit naar Mail Exchanger-records (MX). Zo bevestig je dat het domein is ingericht om e-mail te ontvangen. Een domein geldt als geldig voor e-mail als het minstens één actief MX-record heeft dat naar een mailserver verwijst. Zijn er geen MX-records, dan kan het domein geen e-mail ontvangen, tenzij wordt teruggevallen op een A-record. Dat is in moderne setups echter ongebruikelijk.

Syntaxvalidatie

De eerste stap is controleren of het domein voldoet aan de standaarden van RFC 5322. Het domeindeel van een e-mailadres moet een topleveldomein bevatten en specifieke tekenregels volgen. Gebruik reguliere expressies om ongeldige tekens of opeenvolgende punten uit te sluiten voordat je een netwerkrequest doet. Zo voorkom je onnodige DNS-query's voor strings die duidelijk verkeerd zijn opgemaakt.

Lookup van het MX-record

Voer een DNS-query uit naar het MX-record van het domein. Een MX-record geeft aan welke mailserver namens het domein e-mailberichten accepteert. Levert de DNS-query een of meer geldige MX-records op, dan kan het domein technisch gezien mail ontvangen. Voor handmatige controle kun je tools als dig of nslookup gebruiken; programmeerlibraries bieden asynchrone methoden voor controles in bulk.

Terugvallen op het A-record

Volgens de SMTP-standaarden mag een verzendende server, als er geen MX-record is, proberen mail af te leveren op het IP-adres uit het A-record van het domein. Hoewel dit verouderd gedrag is, biedt een controle op een A-record een tweede validatielaag. Ontbreken zowel MX- als A-records, dan staat vast dat het domein ongeldig is voor e-mailbezorging.

Tools voor verificatie

Voor developers die dit op schaal implementeren, is een gespecialiseerde validatiedienst efficiënter dan zelf ruwe DNS-query's beheren. SendHQ biedt gratis tools op https://sendhq.cc/tools om domeinconfiguraties te controleren. Deze tools automatiseren de lookup en sporen veelvoorkomende configuratiefouten op die tot mislukte bezorging kunnen leiden.

DNS-fouten afhandelen

Maak onderscheid tussen een NXDOMAIN-respons en een time-out. Een NXDOMAIN-respons geeft expliciet aan dat het domein niet bestaat. Een time-out of SERVFAIL kan wijzen op een tijdelijk DNS-probleem of een restrictieve firewall. Implementeer retrylogica met exponential backoff voor niet-definitieve fouten, zodat je geldige domeinen niet als ongeldig markeert tijdens tijdelijke netwerkstoringen.

Vragen die teams stellen

Garandeert een geldig MX-record dat het e-mailadres bestaat?

Nee, een MX-record bevestigt alleen dat het domein mail kan ontvangen. Het verifieert niet dat een specifieke mailbox of gebruiker op die server bestaat.

Kan een domein geldig zijn zonder MX-record?

Ja, als het domein een A-record heeft, proberen sommige SMTP-servers op dat IP af te leveren, al is dat voor moderne mail niet de standaardpraktijk.

Wat is het verschil tussen domeinvalidatie en e-mailvalidatie?

Domeinvalidatie controleert of het domein is ingericht voor mail, terwijl e-mailvalidatie de syntax van het specifieke adres en de status van het domein controleert.

Primaire bronnen