Module 9 · Lesson 19 of 25

Yahoo and Microsoft 365 quirks

Part of KumoMTA: High-Volume Sending Engine — Throttles per Destination (Gmail / Yahoo / M365).

Yahoo:

  • Connection rate: 10/s.
  • Message rate: 100/s per IP.
  • Strict on DKIM alignment — d= must match From or strict subdomain.
  • Yahoo Sender Hub (sender.yahooinc.com) for FBL registration.
  • Bulk requirements mirror Gmail's 2024 requirements.

Microsoft 365 (*.protection.outlook.com):

  • Very low concurrency: 3–5 connections per IP.
  • Sensitive to bursty traffic — pace evenly.
  • SNDS + JMRP enrollment is mandatory for visibility.
  • Often returns vague 5.7.1 Service unavailable — usually means IP reputation.
  • Will throttle silently — watch for queue buildup on *.protection.outlook.com even when no bounces appear.

Shape table:

["yahoo.com"]
connection_limit = 10
max_message_rate = "100/s"
idle_timeout = "60s"

["*.protection.outlook.com"]
connection_limit = 4
max_message_rate = "40/s"
idle_timeout = "30s"

ProtonMail, Apple iCloud, regional providers: start conservative (2 conn / 10 msg/s) and ramp based on observed behavior.

Sign in to keep track of what you have read.

Pulse · self-hosted sending

Own the infrastructure your pipeline depends on.

One install script on your own server. Pulse sets up the MTA, mailboxes, certificates and dashboard; you add domains and start sending.

# on a fresh Ubuntu server
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Also from us:Beat — monitoring that tells you the fixConsulting — $65/hr, no retainer