Microsoft SNDS Walkthrough — Outlook IP Reputation in AcelleMail Context

Microsoft's Smart Network Data Services (SNDS) shows per-IP reputation for outlook.com / hotmail.com / live.com. This guide walks the SNDS signup, wiring AcelleMail's sending IPs in, and daily-checking the panel.

Why SNDS matters

Microsoft's email properties — outlook.com, hotmail.com, live.com, msn.com — combined are ~15% of consumer email worldwide. Their reputation engine is independent of Gmail's: an IP that's High at Google Postmaster Tools can simultaneously be Red at Microsoft SNDS. You need both signals.

SNDS = Smart Network Data Services. Free. Microsoft-run. Shows per-IP:

Signal What it tells you
Reputation (Red/Yellow/Green) Microsoft's aggregate verdict on the IP
Filter result (% Inbox / Junk / Blocked) Where Microsoft routes your mail today
Complaint rate Mark-as-spam clicks from Microsoft mailbox users
Trap hits Sent to spam-trap addresses (red flag)
Sample HELO + body What Microsoft sees — useful for debugging authentication

Sign up + register your IPs

Step 1: Find your AcelleMail sending IPs

In AcelleMail, open the sending-server detail:

Server detail — find your sending IP

For SMTP relay servers (SendGrid, Mailgun, Postmark, etc.), the sending IP is the vendor's shared pool — you usually don't have a dedicated IP. SNDS only gives meaningful data for dedicated IPs.

For Amazon SES with a dedicated IP / IP pool, get the IP from the SES console → Configuration → Dedicated IPs.

For self-hosted SMTP (e.g. Postfix on your own server), the sending IP is your server's outbound IP — run curl ifconfig.me from the host.

Step 2: Sign up at sendersupport.olc.protection.outlook.com

URL: https://sendersupport.olc.protection.outlook.com/snds/

Click Request access. Microsoft asks for:

  • Your Microsoft account (create one if needed — free)
  • Each IP / IP range you control (one IP per line, or CIDR like 192.0.2.0/24)
  • Ownership verification — Microsoft will email each registered IP's abuse@ and postmaster@ accounts for confirmation

Within 24-72 hours, Microsoft confirms ownership and grants SNDS access.

Step 3: Daily SNDS check

Once active, log in daily. The dashboard shows per-IP rows with:

IP            Reputation   Filter result    Complaint rate   Trap hits
192.0.2.10    GREEN        Inbox 98%        0.02%            0
192.0.2.11    YELLOW       Inbox 84%        0.18%            1
192.0.2.12    RED          Junk 100%        0.45%            7

Green is target; Yellow means watch; Red means PAUSE sending from that IP until you've fixed the underlying issue.

Daily SNDS-driven action

SNDS state What it means What to do in AcelleMail
Green, Inbox 95%+, complaint <0.1% Healthy — full speed Continue normal volume
Yellow, Inbox 70-85%, complaint 0.1-0.3% Warning — reputation degrading Hold current volume; do NOT add new segments; audit recent campaigns
Yellow, complaint >0.3% Imminent block Immediately PAUSE sending; investigate content + list source
Red Already filtered out PAUSE that server entirely; restore reputation via re-engagement track
Trap hits >0 You hit a spam trap — bad list source Audit imports; never buy lists; trap hits are reputation poison

Wire SNDS state back to AcelleMail

Open the sending-server detail

In AcelleMail's sidebar, click Sending → Sending servers. The list shows every server connected to this account with its status chip, sending limit, and last activity:

Customer sending-server list

Click into the row you want to configure. The detail page surfaces Connection settings (host / credentials), Configuration (server name, default from, sending limit, bounce + FBL handler), and the Test connection / Send test email buttons in the toolbar:

Server detail — Connection + Configuration

When SNDS flips a server's IP to Red, the appropriate AcelleMail action is to Disable that server temporarily — preventing further sends from a poisoned IP while you investigate.

In the sending server detail toolbar, click Disable. The server status flips to Disabled; the dispatcher routes around it.

After fixing the underlying issue (e.g. bad import purged, content audited), re-enable and ramp back up via the warmup pattern.

Common SNDS confusion + fixes

What you see at SNDS What it actually means What to do
"Yellow" but Inbox 90%+ Microsoft sees mild concern (volume spike?) but mail still inboxes Monitor closely; usually self-resolves
"Green" but complaints in AcelleMail spiked AcelleMail's tracking captures different complaints than SNDS Trust both signals; act on the alarming one
New IP shows no data IP not registered with SNDS, OR <72h since registration Confirm registration; wait for data
Filter result "Junk 30%" but you have no complaint signals in AcelleMail Microsoft filtering for content reasons, not engagement Audit subject line + body content
Trap hit count = 5 Five separate spam-trap hits This is a list-source problem. Audit imports.
Sample HELO shows unfamiliar domain Authentication misalignment Re-verify domain in AcelleMail sending-server detail

What SNDS DOESN'T show

Signal Where to look instead
Aggregate Microsoft mail delivery AcelleMail campaign report bounce log + Microsoft Junk Email Reporting Program (JMRP)
Authentication results (SPF/DKIM/DMARC) DMARC aggregate reports + AcelleMail server config chips
Per-recipient block AcelleMail bounce log (DSN code 5.7.x patterns)
Yahoo / Apple / Other ISPs Yahoo / Apple have their own (mostly retired) postmaster tools
Advanced: programmatic SNDS polling + automated server-disable on Red

SNDS doesn't have a public API. Microsoft provides an opt-in IP-data feed: log into SNDS, then on the "Data Selection" page select daily CSV download. The CSV is published to your account's storage URL daily.

Daily automation pattern:

# Pull yesterday's SNDS CSV (you'll need to handle the login flow once, persist
# a session cookie or use SNDS' email-attachment delivery mode)
curl -sH "Cookie: $SNDS_COOKIE" \
  "https://sendersupport.olc.protection.outlook.com/snds/data.aspx?date=$(date -v-1d +%Y%m%d)&output=csv" \
  -o snds-yesterday.csv

# Parse + auto-disable any RED-reputation server
while IFS=, read ip reputation filter_pct complaint_pct trap_hits; do
  if [ "$reputation" = "RED" ]; then
    # Find the AcelleMail server for this IP
    server_uid=$(curl -sH "Authorization: Bearer $ADMIN_TOKEN" \
      "https://acellemail.com/api/v1/admin/sending-servers?filter[sending_ip]=$ip" \
      | jq -r '.data[0].uid')

    if [ -n "$server_uid" ]; then
      # Disable + alert
      curl -X POST -H "Authorization: Bearer $ADMIN_TOKEN" \
        -d "{\"server_uid\": \"$server_uid\"}" \
        "https://acellemail.com/api/v1/admin/sending-servers/disable"

      # Slack alert
      curl -X POST $SLACK_WEBHOOK \
        -d "{\"text\": \"🚨 SNDS RED on IP $ip — auto-disabled AcelleMail server $server_uid. Complaint rate: $complaint_pct. Trap hits: $trap_hits.\"}"
    fi
  fi
done < snds-yesterday.csv

Run daily at 04:00. SNDS catches reputation issues before AcelleMail's own bounce/complaint signals — earlier intervention = faster recovery.

Per-IP rotation playbook when SNDS flips Red:

Day 0:  SNDS shows IP X = Red. AUTO-DISABLE in AcelleMail.
Day 1:  Audit recent campaigns from this IP. Identify root cause:
        - Content issue?  → Edit copy; flag the template
        - List source?    → Pause that list; re-verify
        - Engagement gap? → Re-engagement campaign first
Day 7:  Re-enable IP at 10% of pre-incident volume.
        Send ONLY to engaged-last-7d segment.
Day 14: If SNDS back to Yellow, expand to engaged-last-30d at 30%.
Day 21: If SNDS Green, resume normal ramp.
Day 30: Full volume.

JMRP (Microsoft Junk Email Reporting Program) — companion to SNDS. Microsoft sends feedback loops (FBL) for every Mark-as-Spam click from Microsoft mailbox users.

Sign up: https://sendersupport.olc.protection.outlook.com/pm/junkmail.aspx

Once active, every complaint generates an email to your feedback@yourdomain address. AcelleMail's bounce/feedback handler can parse these automatically — set up the FBL handler in your sending server config. See Feedback loops FBL setup for the full setup.

SDDS — Sender Score Display (deprecated) — older Microsoft signal; no longer maintained. Use SNDS + JMRP exclusively.

Related articles

16 Kommentare

7 Kommentare

  1. i.rossi.mil
    Bookmarked. Going to share with the team — we've been winging warmup and it shows in the numbers
  2. danrey.dev
    Confirming the Postmaster Tools data lag — sometimes 48 hours, sometimes longer. Don't make decisions on a single day's data.
    1. admin
      thanks for the numbers. Worth pulling into a follow-up post on volume-tier sizing
  3. rafa.silva.br
    The Postmaster Tools section is gold. Most senders don't even know it exists.
  4. sobrien.kw
    We warmed up a dedicated IP last fall. The 2-week ramp this article describes is on the aggressive side — Gmail in particular punishes anything faster than ~3-4 weeks. We did 4 weeks and had a clean ramp
    1. admin
      Thanks for the numbers. Worth pulling into a follow-up post on volume-ter sizing.
    2. admin (bearbeitet)
      thanks for the breakdown. Saving for our customer-success team's reference library.
  5. hung.nguyen.it
    For very low-volume senders (< 5k/month), does warmup even matter? Or just send and let the provider's shared pool absorb the trickle?
    1. admin
      There's no built-in way today. Two workarounds: (1) cron + custom script polling the API every N minutes, (2) webhook-driven if your event source supports it. Most operators go with #2.
  6. emma.whitaker
    Does engagement-based segmentation help during warmup? E.g. only sending to the most-engaged 20% during week 1?
    1. admin
      that config is exposed in 5.2+. For older versions you'll need to edit the config file directly. We'll add a version-matrix in the article...
    2. admin (bearbeitet)
      for your specific case, i'd recommend testing with `--dry-run` first. the behavior under high load isn't 100% deterministic and we want you to see your own pattern before committing.
    3. admin (bearbeitet)
      Currently a manual step. There's a feature request tracking it on the repo if you want to +1.
    4. admin (bearbeitet)
      Good question — and one that comes up often enough we should add an FAQ section. Short answer: yes for the common case; the exception is when you're running custom plugins that override the default behavior...
  7. sofia.costa.pt
    This is the clearest IP warmup schedule I've found. The volume table at the top is what I'm referencing daily.
    1. admin (bearbeitet)
      Thanks for the kind words. We try to keep these source-grounded so they age well.

More in Sending & Deliverability