✦ Oplossingen · DNS en domeinnaam

MX-record instellen en controleren: prioriteit, hostnaam en fouten

Zo stel je een MX-record goed in: prioriteit, altijd een hostnaam en nooit een IP-adres of CNAME. Controleer je MX met nslookup -type=mx of dig MX.

Zo ziet de foutmelding eruit

  • No MX record found
  • DNS type 'mx' lookup of voorbeeld.nl responded with code NXDOMAIN
  • Domain name not found
  • Host or domain name not found

Waarom gebeurt dit?

Het MX-record (mail exchanger) vertelt andere mailservers waar ze mail voor jouw domein moeten afleveren. Stuurt iemand een bericht naar info@voorbeeld.nl, dan vraagt zijn mailserver het MX-record van voorbeeld.nl op en levert de mail af bij de server die daar staat. Ontbreekt het MX-record of wijst het naar een verkeerde server, dan komt er geen mail binnen, of op de verkeerde plek.

Een MX-record heeft twee onderdelen: een prioriteit (een getal) en een hostnaam. Hoe lager het getal, hoe hoger de voorkeur. Met meerdere MX-records kun je een reserve-ontvanger opgeven: de verzender probeert eerst de laagste waarde en wijkt uit naar de volgende als die niet bereikbaar is. Records met dezelfde prioriteit worden afwisselend gebruikt.

Volgens de standaard moet een MX-record naar een hostnaam wijzen die zelf een A- en/of AAAA-record heeft. Een IP-adres invullen is niet toegestaan, en de hostnaam mag geen CNAME (alias) zijn. Sommige mailservers zijn daar soepel in, andere niet; daardoor lijkt een fout MX-record soms half te werken. Ook vaak fout: oude MX-records van een vorige mailprovider die naast de nieuwe zijn blijven staan.

Zo herken je dit probleem

  • Er komt geen enkele mail meer binnen op het domein, terwijl versturen wel werkt.
  • Afzenders krijgen een foutbericht terug dat het domein of de host niet gevonden kan worden: zie ook mail komt terug als onbestelbaar.
  • Een deel van de mail komt aan in de oude mailbox: dan staan er nog MX-records van de vorige provider.
  • Komt de mail wel aan maar wordt hij geweigerd met ‘user unknown’, dan bestaat het adres niet op de mailserver: zie 550 5.1.1 User unknown.

Zo los je het op, stap voor stap

Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.

  1. Vraag je huidige MX-records op

    Op Windows gebruik je nslookup, op Mac en Linux dig. Je ziet per record de prioriteit en de hostnaam. Krijg je geen MX-records, dan ontvangt het domein geen mail. Je kunt het ook nakijken met de Mail-DNS-check, die tegelijk SPF, DKIM en DMARC laat zien.

    # Windows
    nslookup -type=mx voorbeeld.nl
    
    # Mac / Linux
    dig voorbeeld.nl MX +short
    dig @1.1.1.1 voorbeeld.nl MX
  2. Gebruik de gegevens van je mailprovider

    Je mailprovider geeft op welke MX-records je moet instellen: welke hostnaam of hostnamen, en met welke prioriteit. Neem die precies over. Gebruik je Microsoft 365, dan staat het juiste MX-record in het beheercentrum bij je domein; bij Gmail via Google Workspace in de beheerconsole. Verzin geen hostnaam zelf, want de mailserver moet de mail voor jouw domein ook accepteren.

  3. Vul een hostnaam in, geen IP-adres of CNAME

    Het doel van een MX-record is altijd een hostnaam, zoals mail.voorbeeld.nl. Wil je een eigen naam gebruiken, maak dan voor die naam een A-record (en eventueel AAAA-record) naar het IP-adres van de mailserver. Controleer of de hostnaam geen CNAME is: dig laat dat zien in het antwoord.

    ; goed
    @     3600  IN  MX  10 mail.voorbeeld.nl.
    mail  3600  IN  A   203.0.113.25
    
    ; fout: IP-adres als MX
    @     3600  IN  MX  10 203.0.113.25
    
    # controleren of de MX-host een A-record heeft en geen CNAME is
    dig mail.voorbeeld.nl A
  4. Verwijder oude MX-records

    Ben je van mailprovider gewisseld, haal dan de MX-records van de oude provider weg. Blijven die met een lagere of gelijke prioriteit staan, dan levert een deel van de verzenders de mail nog daar af. Laat een reserve-MX alleen staan als je zeker weet dat die server de mail doorstuurt naar je echte mailserver.

  5. Stel meerdere MX-records bewust in

    Meerdere MX-records zijn nuttig als je provider dat voorschrijft voor reserve. De laagste waarde wordt eerst geprobeerd. Een reserve-server moet weten voor welke adressen hij mail aanneemt; anders wordt hij een ingang voor spam of accepteert hij mail die hij nooit kan afleveren.

    @  3600  IN  MX  10 mx1.voorbeeld.nl.
    @  3600  IN  MX  20 mx2.voorbeeld.nl.
  6. Werk SPF bij als je van provider wisselt

    Het MX-record regelt alleen inkomende mail. Verstuur je ook via de nieuwe provider, zet die dan in je SPF-record en stel DKIM in; anders komt je uitgaande mail in spam of wordt hij geweigerd. Zie SPF-record fout en DKIM-fout.

  7. Controleer en test

    Vraag na het opslaan de MX-records rechtstreeks op bij je eigen nameserver en daarna bij een publieke resolver. Stuur een testmail vanaf een extern adres, bijvoorbeeld een Gmail- of Outlook.com-account, naar je domein. Kijk of de mail aankomt in de nieuwe mailbox. Houd er rekening mee dat sommige verzenders de oude MX nog in hun cache hebben tot de oude TTL verstreken is.

    dig NS voorbeeld.nl +short
    dig @ns1.voorbeeld-dns.nl voorbeeld.nl MX

Let op: Wijzig je MX-records pas als de nieuwe mailboxen klaarstaan. Mail die bij de nieuwe server aankomt voor een adres dat daar nog niet bestaat, wordt geweigerd en komt als onbestelbaar terug bij de afzender.

Een domein dat geen mail ontvangt

Gebruik je een domein niet voor mail, dan kun je dat aangeven met een zogeheten ‘null MX’: één MX-record met prioriteit 0 en als doel alleen een punt. Verzenders weten dan direct dat het domein geen mail aanneemt, in plaats van het steeds opnieuw te proberen. Combineer dat met een SPF-record v=spf1 -all, zodat niemand namens het domein kan mailen.

  • @ 3600 IN MX 0 .
  • @ 3600 IN TXT "v=spf1 -all"

Gebruik dit alleen voor domeinen waarop echt geen mail binnen hoeft te komen.

Wanneer schakel je hulp in?

  • Er komt geen mail meer binnen en je weet niet welke MX-records juist zijn.
  • Je verhuist mail naar een andere provider en wilt de MX-records omzetten zonder dat er mail verloren gaat.
  • Een deel van de mail komt op een oude server terecht en je vindt niet waar.
  • Je DNS en je mail staan bij verschillende partijen en niemand voelt zich verantwoordelijk.

Lukt het niet? Wij helpen

Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.

Aanvraag

Hulp aanvragen

Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.

Veelgestelde vragen

Vragen over dit probleem

Wat betekent de prioriteit bij een MX-record?

Hoe lager het getal, hoe meer voorkeur. Verzenders proberen eerst de laagste waarde en wijken uit naar een hogere als die server niet bereikbaar is.

Mag een MX-record naar een IP-adres wijzen?

Nee. Een MX-record wijst altijd naar een hostnaam, en die hostnaam heeft zelf een A- of AAAA-record met het IP-adres.

Hoe controleer ik mijn MX-record?

Op Windows met nslookup -type=mx voorbeeld.nl, op Mac en Linux met dig voorbeeld.nl MX +short, of met de Mail-DNS-check.

Hoe snel werkt een nieuw MX-record?

Voor verzenders die het oude record niet in hun cache hebben direct. Andere gebruiken het nieuwe record uiterlijk na de oude TTL.