Missing MX Records
Email delivery failure due to missing mail exchange configuration
Email Delivery Disruption
Your domain lacks MX records, preventing all email delivery. Mail servers cannot determine where to deliver emails for your domain, causing complete email service failure and business communication disruption.
Understanding MX Records
MX (Mail Exchange) records are DNS records that specify which mail servers are responsible for receiving email on behalf of your domain. When someone sends an email to your domain, their mail server queries your DNS for MX records to determine where to deliver the message. Without MX records, email delivery becomes impossible.
Business Impact: Missing MX records cause complete email delivery failure, resulting in lost business correspondence, customer communication breakdowns, and potential revenue loss from missed opportunities.
How Email Delivery Works
The absence of MX records creates immediate operational problems including complete email delivery failure, sender bounce notifications, business communication disruption, and potential loss of important correspondence. Modern email systems rely entirely on MX records for proper message routing.
Email Delivery Process
When someone sends an email to your domain, their email server performs an MX record lookup to determine where to deliver the message. The server selects the mail server with the lowest priority number (highest priority) and attempts delivery. Without MX records, this process fails immediately.
- Step 1: Sender's email server queries DNS for MX records
- Step 2: Server sorts MX records by priority (lower numbers = higher priority)
- Step 3: Server attempts delivery to highest priority mail server
- Step 4: If primary fails, server tries backup servers in priority order
MX Record Implementation
Configure MX records to restore email delivery functionality for your domain.
Understanding MX Record Structure
Before diving into configuration, let's understand what each part of an MX record actually does. Think of an MX record as a forwarding address that tells the postal service (other email servers) where to deliver mail for your domain.
MX Record Components Breakdown
Every MX record contains five essential pieces of information that work together to route email correctly:
yourdomain.com. 3600 IN MX 10 mail.yourdomain.com.
↓ ↓ ↓ ↓ ↓ ↓
Domain TTL Class Type Priority Mail Server
Name (seconds) (Hostname)Domain Name: The domain that will receive email (must end with a dot in zone files). This tells DNS which domain this rule applies to.
TTL (Time To Live): How long other servers should remember this information before checking again. Use 300 seconds (5 minutes) when testing, then increase to 3600 seconds (1 hour) or higher for production.
Class: Always "IN" for Internet. This is a historical DNS requirement you don't need to worry about changing.
Type: Always "MX" for mail exchange records. This tells DNS what kind of record this is.
Priority: A number that determines the order email servers try different mail servers. Lower numbers mean higher priority (tried first).
Mail Server: The actual hostname of the server that will handle incoming email for this domain.
How Priority Numbers Actually Work
Priority numbers determine which mail server gets tried first when email arrives. Here's how email servers make decisions based on these numbers:
# Example with multiple mail servers
yourdomain.com. 3600 IN MX 10 primary-mail.yourdomain.com.
yourdomain.com. 3600 IN MX 20 backup-mail.yourdomain.com.
yourdomain.com. 3600 IN MX 30 emergency-mail.yourdomain.com.
Email delivery order:
1st attempt → priority 10 (primary-mail.yourdomain.com)
2nd attempt → priority 20 (backup-mail.yourdomain.com) - only if primary fails
3rd attempt → priority 30 (emergency-mail.yourdomain.com) - only if backup failsWhen an email arrives, the sending server looks at all your MX records, sorts them by priority number (lowest first), and tries to deliver to the server with priority 10. If that server is down or unreachable, it moves to priority 20, and so on. This system ensures your email keeps working even if your main mail server has problems.
Step-by-Step MX Record Configuration
Here's how to set up MX records properly, starting with the simplest configuration and building up to more robust setups:
Step 1: Single Mail Server (Basic Setup)
If you have just one mail server, start with this simple configuration:
# Single mail server configuration
yourdomain.com. 300 IN MX 10 mail.yourdomain.com.
# Use TTL 300 (5 minutes) while testing, priority 10 is standard for single serversPriority 10 is a common choice for single servers. You could use any number, but 10 leaves room to add higher-priority servers later if needed.
Step 2: Adding Backup Mail Servers (Recommended)
Multiple mail servers prevent email loss if your primary server goes down:
# Multiple mail servers with priority ordering
yourdomain.com. 3600 IN MX 10 mail1.yourdomain.com. # Primary server
yourdomain.com. 3600 IN MX 20 mail2.yourdomain.com. # Backup server
yourdomain.com. 3600 IN MX 30 mail3.yourdomain.com. # Emergency backup
# TTL increased to 3600 (1 hour) for production useLeave gaps between priority numbers (10, 20, 30) so you can insert additional servers later without renumbering everything.
Step 3: Load Distribution (Advanced)
For high-volume domains, you can balance email load across multiple servers using the same priority:
# Load balancing with equal priority
yourdomain.com. 3600 IN MX 10 mail1.yourdomain.com. # Gets ~50% of email
yourdomain.com. 3600 IN MX 10 mail2.yourdomain.com. # Gets ~50% of email
yourdomain.com. 3600 IN MX 20 backup.yourdomain.com. # Backup if both failWhen multiple servers have the same priority, sending servers randomly choose between them, distributing the email load.
Popular Email Provider Configurations
If you use a hosted email service, they'll provide specific MX records. Here are examples from major providers:
Google Workspace (formerly G Suite)
Google uses a multi-tier backup system with one primary server and multiple backup servers at different priority levels for high availability.
# Google Workspace (formerly G Suite)
yourdomain.com. 3600 IN MX 1 aspmx.l.google.com. # Primary
yourdomain.com. 3600 IN MX 5 alt1.aspmx.l.google.com. # Backup 1
yourdomain.com. 3600 IN MX 5 alt2.aspmx.l.google.com. # Backup 2
yourdomain.com. 3600 IN MX 10 alt3.aspmx.l.google.com. # Backup 3
yourdomain.com. 3600 IN MX 10 alt4.aspmx.l.google.com. # Backup 4Google's strategy: Priority 1 handles most email, while priorities 5 and 10 create multiple backup tiers. This ensures email delivery even if multiple servers are unavailable.
Microsoft 365 (Office 365)
Microsoft uses the highest possible priority (0) and requires domain names with dots replaced by dashes in their mail server hostname.
# Microsoft 365 (Office 365)
yourdomain.com. 3600 IN MX 0 yourdomain-com.mail.protection.outlook.com.Microsoft's approach: Priority 0 (highest possible priority) ensures all email goes to Microsoft's servers first. The hostname format replaces periods with dashes ("yourdomain.com" becomes "yourdomain-com").
Verification Commands
Verify MX record configuration and test email delivery using these systematic verification steps:
Basic MX Record Checking
Start with these fundamental commands to check if your MX records exist and are properly configured.
# Check current MX records
dig yourdomain.com MX
nslookup -type=MX yourdomain.comWhat to expect: These commands should return your MX records with priority numbers and mail server hostnames. If nothing appears, your MX records are missing or not yet propagated.
DNS Server Specific Checking
Test your MX records from different public DNS servers to ensure global accessibility and proper propagation.
# Check from specific DNS servers
dig @8.8.8.8 yourdomain.com MX
dig @1.1.1.1 yourdomain.com MXCross-verification: Google (8.8.8.8) and Cloudflare (1.1.1.1) should return identical MX records. Differences indicate propagation issues or DNS inconsistencies.
Mail Server Connectivity Testing
Verify that your mail servers are actually reachable and accepting connections on the standard SMTP port 25.
# Test mail server connectivity
telnet mail.yourdomain.com 25
# If successful, you'll see: 220 mail.yourdomain.com ESMTPConnection testing: A successful connection shows "220" response with server name and "ESMTP" indicating Extended SMTP support. Connection refused or timeout means server issues.
Email Delivery Testing
Send actual test emails to verify end-to-end email delivery functionality works correctly.
# Test email delivery (Linux/macOS)
echo "Test message" | mail -s "Test Subject" user@yourdomain.comLive testing: This sends a real test email through your domain's mail system. Check both successful delivery and any bounce messages for configuration issues.
Global DNS Propagation Checking
Verify that your MX records have propagated globally across different geographic DNS servers.
# Check DNS propagation globally
nslookup -type=MX yourdomain.com 8.8.8.8
nslookup -type=MX yourdomain.com 208.67.222.222Global verification: Test against Google (8.8.8.8) and OpenDNS (208.67.222.222) servers from different regions. Consistent results confirm worldwide MX record propagation.
Last updated: August 2, 2025
