Microsoft Sender Reputation

Microsoft SNDS, JMRP, and Outlook Sender Reputation: A Complete Guide

Outlook.com and Exchange Online use Microsoft's internal Smart Network Data Services — a layer of sender reputation that runs fully separate from Gmail's. Two programs expose this data to senders directly: SNDS (the per-IP dashboard) and JMRP (the end-user Junk Mail Reporting Program). Together they cover what Microsoft's spam filter sees when your mail arrives. This guide covers what each one shows, how to enroll, and the right way to act on the data.

← All resources

Part of the

Cold Email & Outreach category

Browse every cold-outreach and sender-side deliverability guide in one hub.

See the Cold Email category →

Why Microsoft's Sender Reputation Is Separate From Gmail's

Gmail's spam filter is Google's internal model; it eats Google Postmaster data. Outlook's spam filter — hosted across Outlook.com, Exchange Online, and Office 365 mailboxes — is maintained by Microsoft's Smart Network Data Services team, and scoreings are computed on a wholly separate pipeline. A sender with a perfect "High" Gmail domain reputation can still get throttled hard on Outlook; the inverse is also true.

There is no porting across providers: high Gmail engagement does not lift Outlook; high Outlook deliverability does not lift Gmail. Sender reputation is per-MTA provider. This is why deliverability teams treat Google and Microsoft as separate, parallel optimization problems.

The practical implication: you cannot rely on a single dashboard. If your sending list includes a meaningful slice of Outlook.com recipients (a long tail of long since-personalized addresses), you need to enroll in Microsoft's programs to know whether your mail is actually delivering.

SNDS, JMRP, and Smart Network Data Services: What Each One Does

SNDS (Sender and Network Data Services) is the per-IP dashboard. Once enrolled, you get daily data showing how Microsoft classified mail from your IPs over the preceding 24-hour window — by filter result (green / yellow / red), complaint rate, and message count.

JMRP (Junk Mail Reporting Program) is end-user complaint data. JMRP isn't volume-based — when an Outlook.com user hits "Report junk," a copy of the original message is sent to the JMRP participant's inbox. The data is per-message and lets you tie complaints back to specific campaigns and content.

Smart Network Data Services is the umbrella term for both. Inside Microsoft, both SNDS and JMRP feed the internal scoring engine that decides whether your IP gets a green / yellow / red status badge on a typical message. You don't interact with SNDS-the-product directly; you interact with the public SNDS and JMRP programs that expose its data.

SNDS Enrollment Step-by-Step (Outlook.com / Exchange Online / Office 365 IPs)

Enrollment at postmaster.live.com/snds requires a Microsoft Account (an Outlook.com or Live.com email is fine). Once registered, you can add specific IPs to monitor — either your ESP's dedicated outbound IP, your own SMTP relay, or both. Add each IP one at a time; Microsoft validates via a confirmation email to the registered account.

After verification, the SNDS dashboard populates within 24–48 hours. The page shows four columns per IP per day: message count, complaint rate, trap hits (a signal of reaching spam-trap addresses from old purchased lists), and the Overall Filter Result — Microsoft's verdict on whether your mail passed, was suspicious, or was blocked.

For JMRP enrollment — the per-message complaint feed — file a separate enrollment request via the JMRP postmaster page. It is gated behind a stricter application process and only opens up after SNDS shows clean data for several weeks. Plan to ship SNDS enrollment first, then apply for JMRP once your data has stabilized.

One preprocessing item before enrollment: Outlook's filter checks SPF at the receiving hop, so an unverified SPF record can mask your actual reputation. Run How to Check Your SPF Record → before submitting your IPs — SNDS won't show anything meaningful if your SPF errors are stealing messages at SMTP time.

Reading Your SNDS Data: Filter Result, Complaint Rate, Trap Hits, Message Count

SNDS publishes four daily fields per IP. Understanding them changes how you respond to a bad reading.

  • Filter Result: a color band, not a score. Green means accepted; yellow means bulk-marked or spam-foldered; red is outright rejected at the filter. Movement between bands is the headline metric.
  • Complaint rate: the share of delivered messages that produced a "Report junk" event at the recipient. The safe target is well under 0.3%; you should be alarmed at anything above 1%. A spike usually means a content problem (the same template was sent to non-engaged recipients) or a list problem (you imported addresses that have long since closed).
  • Trap hits: spam-trap addresses that are owned by Microsoft and inserted as decoys on stale lists. A non-zero trap-hit count means part of your list is sourced from old, recycled, or scraped addresses. Strike the segment and don't include it again — you won't recover trap-hit reputation except over months of clean sending.
  • Message count: raw delivery volume from that IP. It contextualizes the other three numbers — a 0.5% complaint rate on 200 messages is far less serious than the same rate on 200,000.

Trap hits and complaint rate going up together is the worst sign: it means recipients are actively marking you as junk and Microsoft has caught you sending to decoys — a list sourced from recycled spam traps. Reset the list before resuming volume, and consider whether a separate warm-up schedule → on a fresh IP is the right path forward. For the broader playbook on list hygiene and complaint reduction, see Cold Email Deliverability →.

JMRP (Junk Mail Reporting Program) and What Its Data Tells You

Once enrolled in JMRP, every time an Outlook.com recipient hits "Report junk" on a message you sent, you receive a forensic copy of that message in your JMRP inbox. It shows you the full MIME — subject, body, From: header, all linking URLs, and the IP that delivered the message.

JMRP is the only place where you can correlate a complaint with the exact message the user saw. Compare two complaints a week apart and you can almost always spot a content pattern — the same template, the same offer, or the same subject style — that's pulling recipients over the line into clicking "junk" instead of "delete."

The JMRP data also confirms which specific recipients to suppress. Every JMRP complaint should produce a fast-path suppression: that recipient is now unreachable. Most ESPs automate this with a JMRP feed integration, but receiving the messages in your inbox is the lowest-friction path.

Connecting SNDS Signals to Your Authentication Stack

SNDS data is downstream of authentication, not over it. A clean SPF / DKIM / DMARC stack is the prerequisite for SNDS to show useful data at all — without it, the filter is rejecting your messages before reputation even matters. The free validator runs every auth check in one DNS lookup and reports which Outlook-specific failure each finding produces:

Get your auth stack ready for Outlook.com in 30 seconds

Run the SPF / DKIM / DMARC validator on the domain you'll send from. SPF alignment is the prerequisite for SNDS to show clean data; DMARC alignment is the prerequisite for DKIM-signing policies to take effect.

Run the free auth check →

Plus keep SNDS data on autopilot → with ReputaPilot — auto-pull SNDS daily readings, alert on a yellow filter result, and tie complaint-rate spikes back to specific campaigns.

For the deep walkthrough on how the three authentication protocols work together — including SPF enforcement hard-fail, DKIM identity selection, and DMARC alignment policies — see SPF, DKIM, and DMARC Explained →. If your SPF record isn't passing at Outlook specifically — the most common cause of mystery "Low" filter results — diagnostic steps live in How to Check Your SPF Record →. DMARC alignment failures on the DKIM side are fixable with the steps in How to Fix DMARC Failing →.

When Your Outlook Reputation Drops: The Fix-It Path

A yellow or red filter result on SNDS recovers in roughly this order. Each item is a precondition for the next, so don't skip them.

  1. Confirm you're not on an external blocklist. Microsoft's internal filter and external lists (Spamhaus, Barracuda, etc.) can independently throttle the same IP. Run parallel diagnostic with Am I Blacklisted? → to rule out the separate path.
  2. Cut non-engaged recipients. Strip anyone who hasn't opened any message in 90+ days. The complaint-rate ceiling goes down linearly with engagement rate, so this is a fast lever.
  3. Re-check authentication. Especially DKIM signing on a domain aligned with the From: header. Without this, no amount of content fixing will lift Outlook reputation.
  4. Audit trap-hit-heavy segments. If SNDS shows non-zero trap hits, remove the segment and never reuse the addresses. Trap hits compound over months.
  5. Re-pace volume on a warm-up curve.Resume sending at 50% of pre-drop volume for the first two weeks, then scale only if the SNDS filter result returns to green.

Outlook.com reputation recovery is slower than Gmail's. Plan on 4–6 weeks for a yellow-to-green recovery; a red-to-green recovery can take three months. The good news: once green, it stays green unless content or list quality drops again, so investing in the playbook above pays back over years.

FAQ

Frequently asked questions

Next steps

Check a sending domain against DNS blocklists

Run a free, point-in-time lookup and review which configured providers report a listing, return a clean result, or are unavailable. No account is required.

Results cover only the configured DNS blocklists that return a usable response. A clean result does not cover every blocklist or establish inbox placement; an unavailable provider remains unchecked.

Open the public domain checker →

Get your Outlook.com reputation signals on autopilot

Run the free auth check to make sure SPF, DKIM, and DMARC will let SNDS show clean data, then keep your SNDS readings on autopilot with ReputaPilot — alerts when the filter result goes yellow.