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:

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:

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:

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#