Skip to content

How to Fix Microsoft 365 Email Not Sending or Receiving

Microsoft 365 email not sending or receiving? Work through service health, message trace, MX and SPF, mail flow rules, quarantine, and full mailboxes step by step.

MGMCSA Guru Team June 17, 2026 9 min read
Diagram-style cover showing a Microsoft 365 mail flow path with checkpoints for service health, message trace, DNS, and quarantine

“Email isn’t working” is one of the vaguest tickets you’ll get, and one of the most urgent. It could mean one person isn’t getting mail, the whole company can’t send, or a single important message vanished. The fix depends entirely on which of those it is, so the job is to narrow it down fast before you start changing settings.

Microsoft 365 gives you two tools that answer most of the question in minutes: the Service health dashboard tells you if the platform itself is down, and message trace shows you exactly where a specific message stopped. Start there every time. This guide works through both, then through the usual culprits — DNS, mail flow rules, quarantine, full mailboxes, and connectors — in the order that resolves the most problems fastest.

First: figure out the scope

Before any deep dive, answer one question — how widespread is it? The scope points you straight at the layer to investigate.

Scope the problem in two minutes

  • Is it one mailbox, one domain, or everyone in the tenant?
  • Sending, receiving, or both?
  • Internal mail, external mail, or only mail to/from one outside domain?
  • When did it start, and did anything change (DNS, a new rule, a migration)?
  • Is there a bounce/non-delivery report (NDR)? Note the error code.

If it’s the whole tenant, look at service health and DNS. If it’s one mailbox, look at quotas, rules, and forwarding. If it’s only mail to or from one external domain, the problem may be on their side or in a connector. That single split saves you from rebuilding a mailbox when the real issue is a tenant-wide DNS change.

Step 1: Check Service health

Before you troubleshoot your own configuration, rule out a Microsoft-side incident. There’s no point rebuilding a connector during an Exchange Online outage.

  1. Sign in to the Microsoft 365 admin center (admin.microsoft.com).
  2. Go to Health → Service health.
  3. Look for active incidents or advisories affecting Exchange Online or Email and calendar.

If there’s an active incident that matches your symptoms, the fix is to wait and monitor — note the incident ID for your records and let users know. If service health is clean, the problem is in your tenant, your DNS, or the recipient’s side, and you move on to message trace.

Step 2: Run a message trace

Message trace is the single most useful tool for delivery problems. It follows a specific message through Exchange Online and tells you its fate.

  1. In the Exchange admin center (admin.exchange.microsoft.com), go to Mail flow → Message trace.
  2. Enter the sender, recipient, and a time range that covers the missing message.
  3. Run the trace and read the status column.

The status tells you where to look next:

What each message trace status means

Delivered Mail reached the mailbox. Look at inbox rules, client filters, or the wrong folder.
Pending Still trying to deliver — often greylisting, a connector retry, or a DNS issue at the target.
Failed Rejected. Open the detail for the reason (bad recipient, quota, policy, auth).
Quarantined Held by anti-spam/anti-malware. Check the quarantine to review or release.
Filtered as spam Routed to junk or blocked by spam policy. Review the spam/phishing policies.
Resolved / Expanded Recipient was a group or alias — trace the final recipient address instead.

A “Delivered” status is one of the most useful results because it tells you the email reached the mailbox and the problem is on the client or rule side, not in mail flow. That redirects your whole investigation.

Step 3: Check MX, SPF, and DNS

When the whole domain can’t receive mail, or outbound mail is being rejected by recipients, DNS is the prime suspect. Three records do the heavy lifting.

Core mail DNS records for Microsoft 365

MX yourdomain-com.mail.protection.outlook.com (priority 0)
SPF (TXT) v=spf1 include:spf.protection.outlook.com -all
Autodiscover (CNAME) autodiscover.outlook.com
DKIM (CNAME x2) selector1/selector2 records from your tenant

Confirm what your DNS is actually publishing rather than what you think it is:

# MX — where inbound mail is delivered
Resolve-DnsName yourdomain.com -Type MX

# SPF and other TXT records
Resolve-DnsName yourdomain.com -Type TXT

# Autodiscover
Resolve-DnsName autodiscover.yourdomain.com -Type CNAME

If the MX record doesn’t point at the Microsoft 365 endpoint (yourdomain-com.mail.protection.outlook.com), inbound mail goes somewhere else — a leftover on-premises server, an old filtering service, or nowhere. This is the classic symptom right after a migration when DNS wasn’t fully updated.

If you’ve recently moved to the cloud, DNS gaps are common — the cutover migration guide covers the exact MX, SPF, and autodiscover changes that need to be in place after a switch.

Step 4: Review mail flow rules

Mail flow rules (transport rules) can quietly block, redirect, or delete messages exactly as configured. If a message trace shows a message was acted on by a rule, this is where to look.

  1. In the Exchange admin center, go to Mail flow → Rules.
  2. Review each enabled rule, especially ones that reject, redirect, delete, or block based on sender, recipient, subject, or attachment.
  3. Disable or correct any rule that’s catching mail it shouldn’t.

Step 5: Check quarantine

Anti-spam, anti-phishing, and anti-malware policies can hold messages in quarantine. If message trace shows Quarantined or Filtered as spam, this is your stop.

  1. Go to the Microsoft Defender portal (security.microsoft.com).
  2. Open Email & collaboration → Review → Quarantine.
  3. Filter by recipient or sender, review the held messages, and release legitimate ones.
  4. If a sender is repeatedly caught, adjust the relevant anti-spam or anti-phishing policy rather than releasing message by message.

Be careful loosening spam policies to “fix” delivery. Releasing a genuinely malicious message or over-allowing a domain trades a delivery complaint for a security risk. Release what’s clearly legitimate and tune policies deliberately.

Step 6: Mailbox full or restricted

When it’s one user not receiving, check the mailbox itself.

Connect-ExchangeOnline

# Current size and quota status for the mailbox
Get-MailboxStatistics -Identity [email protected] |
  Select-Object DisplayName, TotalItemSize, StorageLimitStatus

# Quota settings on the mailbox
Get-Mailbox -Identity [email protected] |
  Select-Object ProhibitSendReceiveQuota, IssueWarningQuota

If the mailbox is over quota, Exchange Online stops accepting new mail and senders get an NDR. Free up space, raise the quota if the plan allows, or enable an archive. A user who can receive but not send may have hit a sending limit or been restricted for suspected spam — check the restricted users list in the Defender portal and the mailbox’s send status.

Step 7: Connector issues

Connectors control mail flow between Exchange Online and external systems — an on-premises server, a third-party filtering service, or a partner organization. A misconfigured connector can break a specific mail path while everything else works.

  1. In the Exchange admin center, go to Mail flow → Connectors.
  2. Review inbound and outbound connectors. Check the smart host, the certificate or domain restrictions, and whether the connector is even still needed.
  3. Use the connector’s validation option to send a test message through it.

Connectors are the usual cause when mail to or from one specific external domain or system fails while general internet mail is fine. A stale connector left over from a migration or an old filtering vendor is a frequent offender — if the service it pointed at is gone, the connector may be sending mail into a black hole.

The fast path under pressure

When mail is down and people are waiting, run this order:

  1. Service health — rule out a Microsoft outage.
  2. Message trace the affected message — read the status.
  3. Scope it — one user, one domain, or everyone.
  4. DNS (MX/SPF) for tenant-wide or outbound rejection issues.
  5. Mail flow rules if the trace shows a rule acted on the message.
  6. Quarantine if the trace says Quarantined or Filtered.
  7. Mailbox quota / restrictions for single-user receive or send failures.
  8. Connectors if it’s isolated to one external system or domain.

Most problems resolve by step 2 or 3 — the trace status almost always tells you which later step to jump to.

Wrapping up

When Microsoft 365 mail stops, resist the urge to start changing settings. Scope the problem first, check service health, and run a message trace — those three steps turn a vague “email is broken” into a specific, fixable cause. From there the path is clear: DNS for tenant-wide issues, rules and quarantine for filtered mail, quotas and forwarding for single mailboxes, and connectors for one-off external paths.

Keep the message trace habit. It’s the difference between guessing and knowing, and it’s the one tool that tells you whether a message ever reached the mailbox at all.

Frequently asked questions

Where do I start when Microsoft 365 email stops working?

Start with two checks: the Microsoft 365 Service health dashboard to rule out a platform outage, and a message trace in the Exchange admin center for the specific message. Service health tells you if it's Microsoft's problem; the message trace shows you exactly where a given email stopped. Those two answers point you at the right fix and save you from guessing.

How do I use message trace to find why an email wasn't delivered?

In the Exchange admin center, go to Mail flow then Message trace, set the sender, recipient, and time range, and run it. The result shows the message status (Delivered, Pending, Failed, Quarantined, or Filtered as spam) and a detailed event log. The status tells you whether to look at quarantine, a transport rule, DNS, or the recipient's side.

Why is one user not receiving email when everyone else is fine?

When it's isolated to one mailbox, suspect a mailbox-level cause: the mailbox is full, an inbox rule is deleting or moving messages, the sender is on a blocked-senders list, or a forwarding rule is redirecting mail. Run a message trace to that user; if it shows Delivered, the message reached the mailbox and a rule or client filter is hiding it.

Can a mail flow rule block email without anyone noticing?

Yes. A transport (mail flow) rule that was set up to block, redirect, or delete certain messages will do exactly that, silently, until someone reviews the rules. A message trace showing the message was acted on by a rule is the giveaway. Review mail flow rules in the Exchange admin center whenever delivery problems hit a specific pattern of senders or recipients.

Does a full mailbox stop incoming email?

Yes. When a mailbox hits its storage quota, Exchange Online stops accepting new mail for it and the sender gets a non-delivery report. Free up space, increase the quota if the plan allows, or enable archiving. A message trace will show messages failing to deliver to that recipient when the mailbox is over quota.

How long should I wait before assuming email is broken versus just delayed?

Most Microsoft 365 mail delivers within seconds to a couple of minutes. Occasional delays of several minutes happen, especially under greylisting or heavy filtering. If messages are consistently missing after 15-30 minutes, or you see Pending or Failed in message trace, treat it as a real delivery problem rather than a delay.

Why can users receive email but not send it?

One-directional failures usually point at outbound-specific causes: an SPF record that doesn't authorize Microsoft 365 so recipients reject the mail, an outbound connector misconfiguration, a send limit being hit, or the account being restricted for suspected spam. Check the message trace for the outbound message and confirm SPF includes spf.protection.outlook.com.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.