{"id":9049,"date":"2026-09-18T09:52:00","date_gmt":"2026-09-18T09:52:00","guid":{"rendered":"https:\/\/www.warmy.io\/blog\/?p=9049"},"modified":"2026-09-23T07:07:14","modified_gmt":"2026-09-23T07:07:14","slug":"mx-dns-record-lookup-for-email","status":"publish","type":"post","link":"https:\/\/www.warmy.io\/blog\/email-deliverability\/mx-dns-record-lookup-for-email\/","title":{"rendered":"MX and DNS Record Lookup for Email: How to Check Your Setup Before It Breaks"},"content":{"rendered":"\n<p>An MX lookup shows where a domain receives email and whether the routing information published in DNS is usable.<\/p>\n\n\n\n<p>You can check MX records with a browser-based lookup tool. If the result needs verification, repeat the query with nslookup or dig. A complete email routing check then resolves each mail host to its A or AAAA address. PTR and TXT records cover the sender-side checks that sit outside the MX route itself.<\/p>\n\n\n\n<p>The lookup should show whether the current setup is usable and where to investigate a problem.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Key Takeaways<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DNS records for email interact: MX depends on address records, and sender checks use PTR and TXT data.<\/li>\n\n\n\n<li>A lower MX priority number means a mail server is preferred; equal numbers mean equal preference.<\/li>\n\n\n\n<li>A domain without an explicit MX can still receive mail. SMTP can fall back to its A or AAAA record.<\/li>\n\n\n\n<li>Valid PTR and forward DNS matter for outbound mail because major mailbox providers use them when evaluating sending infrastructure.<\/li>\n\n\n\n<li>Recheck records after a provider migration or other DNS change; cached answers can create a propagation delay even after the authoritative zone is correct.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The DNS Records That Actually Matter for Email<\/h2>\n\n\n\n<p>Mail exchange records tell other SMTP servers where to deliver incoming mail. MX points to receiving hosts, and A\/AAAA records resolve those hostnames to addresses. PTR and TXT are more relevant to sender-side checks that receiving systems use when evaluating outbound mail.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"534\" src=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-1.jpg\" alt=\"Table of DNS record types MX A TXT PTR for email\" class=\"wp-image-9041\" title=\"\" srcset=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-1.jpg 714w, https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-1-300x224.jpg 300w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/figure><\/div>\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Record<\/th><th>What it does<\/th><th>Why it matters for email<\/th><\/tr><\/thead><tbody><tr><td><strong>MX<\/strong><\/td><td>Points senders to the mail hosts that receive messages for the domain<\/td><td>Wrong targets or priorities can route incoming mail to the wrong infrastructure<\/td><\/tr><tr><td><strong>A \/ AAAA<\/strong><\/td><td>Maps a hostname to an IPv4 or IPv6 address<\/td><td>MX hosts need usable addresses, and forward DNS also matters for sender checks<\/td><\/tr><tr><td><strong>PTR<\/strong><\/td><td>Maps an IP address back to a hostname<\/td><td>Valid reverse DNS is expected by major mailbox providers for sending infrastructure<\/td><\/tr><tr><td><strong>TXT<\/strong><\/td><td>Publishes text-based policies and verification data<\/td><td>SPF, DKIM, and DMARC use DNS data that receiving systems evaluate<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>For a deeper record-by-record explanation, <a href=\"https:\/\/www.warmy.io\/blog\/what-are-dns-mx-record-dns-a-record-rdns-and-how-does-it-work\/\" target=\"_blank\" rel=\"noopener noreferrer\">see the full breakdown of MX, A, and rDNS records<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Look Up Your MX Records<\/h2>\n\n\n\n<p>The fastest way to check MX records is to start with a web lookup tool, then verify the result from the terminal if needed. Follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open an MX record lookup service. MXToolbox, DNSChecker.org, Google Admin Toolbox, and DNS Robot are popular choices for this task.<\/li>\n\n\n\n<li>Enter the domain. An MX server lookup should return one or more hostnames with their preference values.<\/li>\n\n\n\n<li>Read the hostnames and priorities. MX names often reveal the receiving gateway or provider, although a filtering service can sit in front of the mailbox platform. If the result points to Microsoft 365 or Outlook infrastructure, use the provider-specific instructions (<a href=\"https:\/\/www.warmy.io\/blog\/outlook-mx-records-a-records-rdns-setup\/\" target=\"_blank\" rel=\"noopener noreferrer\">setting up Outlook specifically? See our step-by-step guide<\/a>).<\/li>\n\n\n\n<li>Resolve each MX hostname to A or AAAA. The destination needs a usable IP address before SMTP can connect.<\/li>\n\n\n\n<li>Verify when needed with <code>nslookup -type=MX example.com<\/code> or the dig command <code>dig +short MX example.com<\/code>.<\/li>\n\n\n\n<li>If a public result looks stale, find the authoritative name server with <code>dig example.com NS +short<\/code>, then query it directly: <code>dig @ns1.provider.com example.com MX<\/code>. A new authoritative answer plus an old public answer points to caching; if both show the old record, the authoritative DNS still needs correction.<\/li>\n\n\n\n<li>Once the MX path is confirmed, <a href=\"https:\/\/www.warmy.io\/free-tools\/email-deliverability-test\/\" target=\"_blank\" rel=\"noopener noreferrer\">run a full deliverability test on your domain<\/a> to check sender-side issues beyond routing.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Reading MX Priority (and Why It Matters)<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"716\" height=\"533\" src=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-2.jpg\" alt=\"Example of MX record priority values and failover\" class=\"wp-image-9042\" title=\"\" srcset=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-2.jpg 716w, https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-2-300x223.jpg 300w\" sizes=\"auto, (max-width: 716px) 100vw, 716px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>With multiple MX records, the lowest value gets the first attempt. Priority 10 therefore comes before priority 20. If that destination is unavailable, SMTP moves on to a lower-preference host.<\/p>\n\n\n\n<p>The numbers only establish order. A wider gap between the values changes nothing, and two records set to priority 10 are treated as equally preferred rather than as primary and backup.<\/p>\n\n\n\n<p>During a provider migration, this ordering becomes operationally important. Leaving an old provider at the same or better preference can keep it in the active routing path after the new service is ready.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A Records, PTR Records, and Reverse DNS<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"717\" height=\"536\" src=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-4.jpg\" alt=\"mx dns record lookup - warmy.io\" class=\"wp-image-9039\" title=\"\" srcset=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-4.jpg 717w, https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-4-300x224.jpg 300w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/figure><\/div>\n\n\n<p>Start with a DNS A record lookup for each MX hostname, and check AAAA when IPv6 is part of the setup. An MX record identifies the mail host; the actual connection happens only after that hostname resolves to a usable IPv4 or IPv6 address.<\/p>\n\n\n\n<p>For outbound sender validation, reverse DNS starts with the sending IP. The PTR record returns a hostname. A forward lookup should then resolve that hostname back to the address the server actually uses for sending, whether it is IPv4 or IPv6.<\/p>\n\n\n\n<p><a href=\"https:\/\/support.google.com\/mail\/answer\/81126?hl=en-GB\" rel=\"noopener\" target=\"_blank\" rel=\"noopener noreferrer\">Google requires valid forward and reverse DNS for sending IPs<\/a>. Gmail checks that the sending IP matches an IP returned by the hostname in its PTR record. <a href=\"https:\/\/senders.yahooinc.com\/best-practices\/\" rel=\"noopener\" target=\"_blank\" rel=\"noopener noreferrer\">Yahoo also requires valid forward and reverse DNS from senders<\/a>. For providers with this requirement, a missing PTR or failed forward\/reverse match violates the rule and can contribute to rejection or spam placement.<\/p>\n\n\n\n<p>PTR records are usually controlled by the organization that owns the IP block. In practice, reverse DNS is configured through the hosting, cloud, or mail provider, unless that provider has delegated control to you. If the check fails, <a href=\"https:\/\/www.warmy.io\/blog\/fixing-reverse-dns-lookup-failures-best-practices-for-email-server-configuration\/\" target=\"_blank\" rel=\"noopener noreferrer\">read our full guide to fixing reverse DNS failures<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Checking DNS Records Beyond MX (TXT, SPF Context)<\/h2>\n\n\n\n<p>A DNS lookup tool can also show the TXT records that receiving systems use for email authentication. For SPF, look for the TXT value beginning with <code>v=spf1<\/code>. Publishing more than one SPF record for the same name is invalid and can produce an SPF permanent error.<\/p>\n\n\n\n<p>DKIM and DMARC also rely on DNS data. An email-focused DNS checker should show whether the expected TXT records are present and whether their values conflict.<\/p>\n\n\n\n<p>When MX routing is correct, check authentication records separately because SPF, DKIM, or DMARC failures can affect message acceptance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What a Broken or Missing Record Actually Does to Delivery<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"714\" height=\"536\" src=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-3.jpg\" alt=\"Diagram showing impact of broken DNS records on email delivery\" class=\"wp-image-9043\" title=\"\" srcset=\"https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-3.jpg 714w, https:\/\/www.warmy.io\/blog\/wp-content\/uploads\/2026\/09\/mx-dns-record-lookup-3-300x225.jpg 300w\" sizes=\"auto, (max-width: 714px) 100vw, 714px\" \/><\/figure><\/div>\n\n\n<p><\/p>\n\n\n\n<p>Without an explicit MX, SMTP may still deliver mail by falling back to the domain&#8217;s A or AAAA address. Null MX changes the meaning completely: MX 0 . explicitly tells other servers that the domain does not accept email.<\/p>\n\n\n\n<p>For a published MX to work, its target has to resolve to a usable IPv4 or IPv6 address. That resolved address is where SMTP connects to the receiving server. A hostname that is itself a CNAME alias falls outside the standard MX model.<\/p>\n\n\n\n<p>During a provider migration, an obsolete MX can remain either in the authoritative zone or only in resolver caches. If the record is still authoritative, it remains part of the live routing configuration and can continue receiving traffic according to its preference. If the authoritative name server shows the new MX but a recursive resolver still shows the old one, the old answer is cached. The previous TTL controls how long that positive answer can remain valid.<\/p>\n\n\n\n<p>A resolver can also cache the absence of a record. If an MX was recently added, a public resolver may briefly continue returning NODATA until the negative cache expires.<\/p>\n\n\n\n<p>A missing or mismatched PTR can put the sending infrastructure out of compliance with provider requirements. SPF creates a different failure mode: duplicate records or malformed syntax may cause the authentication check to return an error. Once the MX route is confirmed, review these sender-side DNS records as a separate part of the setup.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common MX\/DNS Mistakes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Leaving an old provider&#8217;s MX record in the authoritative zone after a migration.<\/li>\n\n\n\n<li>Pointing an MX record to a hostname that is itself a CNAME alias. The target should resolve directly to A or AAAA records.<\/li>\n\n\n\n<li>Reading a larger MX priority number as a higher preference. Lower values are preferred.<\/li>\n\n\n\n<li>Checking only one cached recursive resolver after a DNS change. Compare it with the authoritative name server.<\/li>\n\n\n\n<li>Trying to fix PTR in the ordinary forward DNS zone even though the provider controlling the sending IP usually manages reverse DNS.<\/li>\n\n\n\n<li>Publishing multiple SPF records for the same hostname.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Checking Your Setup Automatically<\/h2>\n\n\n\n<p>A raw MX lookup is useful when you are tracing a specific routing problem or checking a recent DNS change. Routine domain health is better handled with automated monitoring, which can surface changes in DNS and authentication before someone has to run another manual check.<\/p>\n\n\n\n<p>Warmy&#8217;s domain checks cover email-related signals including SPF, DKIM, DMARC, MX, A, and rDNS. You can <a href=\"https:\/\/www.warmy.io\/product\/deliverability\/\" target=\"_blank\" rel=\"noopener noreferrer\">check all of this automatically with Deliverability Insights<\/a> and review DNS health alongside reputation and placement signals.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is an MX record, and why does email need one?<\/h3>\n\n\n\n<p>An MX record tells SMTP servers which hosts receive mail for a domain. Explicit MX records are standard. SMTP has a fallback when no MX is published.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How do I check the MX records for my domain?<\/h3>\n\n\n\n<p>Use an MX lookup tool, <code>nslookup -type=MX example.com<\/code>, or <code>dig +short MX example.com<\/code>. Check the returned hostnames, priorities, and IP resolution.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What does MX priority mean?<\/h3>\n\n\n\n<p>Lower numbers have higher preference. Equal values mean equal preference; neither destination is automatically primary or backup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What&#8217;s the difference between an MX record and an A record?<\/h3>\n\n\n\n<p>MX selects the mail host. A maps a hostname to IPv4. AAAA maps it to IPv6.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What is reverse DNS (PTR), and why does it matter for email?<\/h3>\n\n\n\n<p>A PTR record maps an IP back to a hostname. Major mailbox providers expect valid reverse and forward DNS for sending IPs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How long does it take for a DNS record change to propagate?<\/h3>\n\n\n\n<p>Start with the record&#8217;s previous TTL. Cached answers can remain valid until that interval expires. MX changes can take up to 72 hours to be recognized.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I send email without an MX record?<\/h3>\n\n\n\n<p>Yes. MX primarily controls inbound routing, so outbound mail can work without an explicit MX. A sending domain should not publish a Null MX.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What happens if my MX records point to the wrong server?<\/h3>\n\n\n\n<p>Incoming mail can reach the wrong infrastructure, including an old provider after migration. It can fail if the target is unusable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I need to check DNS records after switching email providers?<\/h3>\n\n\n\n<p>Yes. Check immediately after the switch and again after the previous TTL expires. For a planned migration, lower MX TTL to about 3,600 seconds far enough in advance for the previous TTL to expire. This helps old routing leave caches sooner.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">How often should I check my domain&#8217;s MX and DNS records?<\/h3>\n\n\n\n<p>We recommend at least monthly and after every DNS or mail-provider change. Business-critical domains benefit from continuous monitoring.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wrapping Up<\/h2>\n\n\n\n<p>An MX lookup should tell you where mail is routed and whether those destinations actually resolve. If a result looks outdated, compare the recursive response with the authoritative zone before changing the configuration.<\/p>\n\n\n\n<p>For ongoing monitoring, <a href=\"https:\/\/www.warmy.io\/product\/deliverability\/\" target=\"_blank\" rel=\"noopener noreferrer\">check all of this automatically with Deliverability Insights<\/a>.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>An MX lookup shows where a domain receives email and whether the routing information published in DNS is usable. You can check MX records with a browser-based lookup tool. If the result needs verification, repeat the query with nslookup or dig. A complete email routing check then resolves each mail host to its A or [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":9055,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[104],"tags":[],"class_list":["post-9049","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-email-deliverability"],"acf":[],"lang":"en","translations":{"en":9049},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/posts\/9049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/comments?post=9049"}],"version-history":[{"count":2,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/posts\/9049\/revisions"}],"predecessor-version":[{"id":9052,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/posts\/9049\/revisions\/9052"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/media\/9055"}],"wp:attachment":[{"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/media?parent=9049"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/categories?post=9049"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.warmy.io\/blog\/wp-json\/wp\/v2\/tags?post=9049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}