Microsoft 365 Email – Not Receiving Emails Troubleshooting


🔹 1. Check DNS & MX Records

  • Go to your domain registrar/DNS manager and ensure MX records are correctly set for Microsoft 365:

MX → yourdomain-com.mail.protection.outlook.com (Priority: 0)

  • Also verify:
    • SPF record: v=spf1 include:spf.protection.outlook.com -all
    • CNAME/Autodiscover and TXT/verification records exist

Test via:

nslookup –type=mx yourdomain.com

Or use: Microsoft DNS Checker


🔹 2. Microsoft 365 Admin Center

  • Login to admin.microsoft.com
  • Check:
    • User mailbox is active and licensed
    • No email delivery restrictions on mailbox
    • No mail forwarding or inbox rules causing redirection
    • Email is not hitting quarantine or junk folder

🔹 3. Use Message Trace Tool

  • Go to Microsoft 365 Admin Center > Exchange Admin Center > Mail Flow > Message Trace
  • Search for recent failed deliveries

🔹 4. Check Email Routing (If hybrid setup)

  • If you’re using third-party DNS hosting or previous cPanel hosting:
    • Ensure Email Routing is NOT set to “Local Mail Exchanger” in cPanel
    • cPanel → Email Routing → Set to Remote Mail Exchanger

🔹 5. Test Email Reception

  • Send test emails from:
    • Gmail / Outlook / other external accounts
  • Check bounce-back/NDR message (if any) — it will give clues

🔹 6. Firewall / Port Blocking (rare)

  • Ensure that your network or ISP is not blocking Microsoft IPs (outbound SMTP/IMAP ports).

🔹 7. Mailbox Quarantine or Spam Filter

====================================================================

Here’s a DNS template for Microsoft 365 (Microsoft Exchange Online) setup — you can use this to configure DNS records in your domain registrar or DNS provider (e.g., domain registrar, Cloudflare, cPanel, etc.).

📘 Microsoft 365 DNS Template

Replace yourdomain.com with your actual domain.


🔹 1. MX Record (Mail Routing)

TypeNameValuePriorityTTL
MX@yourdomain-com.mail.protection.outlook.com03600

You’ll get the exact MX value from Microsoft 365 Admin Center → Setup → Domains.

🔹 2. SPF (TXT Record)

TypeNameValueTTL
TXT@v=spf1 include:spf.protection.outlook.com -all3600

🔹 3. DKIM (CNAME Records)

These are generated per domain. You’ll need to enable DKIM in Microsoft 365 Security & Compliance portal before records appear.

TypeNameValueTTL
CNAMEselector1._domainkeyselector1-yourdomain-com._domainkey.yourdomain.onmicrosoft.com3600
CNAMEselector2._domainkeyselector2-yourdomain-com._domainkey.yourdomain.onmicrosoft.com3600

🔹 4. DMARC (Optional but Recommended)

TypeNameValueTTL
TXT_dmarcv=DMARC1; p=none; rua=mailto:[email protected]3600

For stricter policies, change p=none to p=quarantine or p=reject.


🔹 5. Autodiscover (CNAME)

TypeNameValueTTL
CNAMEautodiscoverautodiscover.outlook.com3600

🔹 6. MS Verification TXT Record (Used for domain verification)

TypeNameValueTTL
TXT@MS=msXXXXXXXX (from Microsoft)3600

Found in Microsoft 365 Admin > Setup > Domains > Verification


✅ Notes:

  • TTL (Time to Live) can usually be left at default (e.g., 3600 seconds).
  • After adding all records, go to Microsoft 365 → Admin → Domains → Check DNS status.
  • Use tools like mxtoolbox.com or nslookup to verify.

By admin