Throttling is the silent failure of CIS deliverability. A sender pushing 50K/hour to Gmail with no issues will hit connection limits at Mail.ru well before that volume, see a rising fraction of 421 and 451 responses, and either lose mail outright (if their MTA does not retry well) or look like they have a placement problem. Distinguishing throttling from filtering is the first job.
Both providers prefer steady, modest traffic from a known IP over bursts from an unknown one. Connection limits ~10-20 concurrent; per-domain hourly caps tied to reputation. Retry on 4xx with backoff (5-15 min); never retry immediately. Warm the IP over 4-6 weeks for serious volume.
How throttling actually looks
- 4xx temp-fail spikes:
421 4.7.0 IP frequency limit exceededat Mail.ru,451 4.7.1 too many connections from your hostat Yandex. Bursts of these without a content change are the canonical throttling fingerprint. - Successful delivery on retry: messages that fail with 4xx and then deliver on retry 10-15 minutes later are throttling, not filtering. Filtering does not lift on retry.
- Connection drops mid-handshake: Mail.ru in particular drops new connections when the IP is over its concurrency limit. Look for TCP resets or
connect: connection resetpatterns. - Slow delivery despite Inbox placement: messages that eventually land in Inbox but show ~30-90 min delays are queue-induced from upstream throttling.
Limit structure (what we can observe)
- Per-IP concurrent connections: roughly 10-20 for unknown IPs; higher (50+) for IPs with strong reputation. Hard cap is per /24 in some cases.
- Per-domain hourly volume: reputation-tied. New domains get a few hundred per hour; established domains can push tens of thousands. The cap is dynamic — sustained good behaviour lifts it gradually.
- Per-recipient daily limit: both providers impose a per-recipient cap to suppress harassment-pattern senders. Hitting the same recipient 5+ times in a day from the same domain triggers throttling on that recipient channel.
Retry behaviour that works
- Backoff: 5 minutes, then 15, then 30, then 60. Standard exponential backoff. Stop after 4-6 hours; messages older than that are unlikely to succeed without intervention.
- Do not retry immediately. A 4xx followed by an immediate retry is read as “sender ignoring our signal” and adds reputational penalty.
- Spread retries across IPs only if you have a legitimate IP pool — rotating to a fresh IP solely to bypass throttling is detected and treated as evasion.
Warm-up cadence for CIS
- Week 1-2: 200-500/day to engaged recipients, balanced across Mail.ru and Yandex. Watch complaint rate and 4xx rate; either rising stops the ramp.
- Week 3-4: 2K-5K/day. Add transactional traffic if it shares the IP — engaged transactional recipients lift reputation faster than marketing does.
- Week 5-6: 10K-25K/day. Start sending first-touch marketing only after this point, never during warm-up.
- Beyond: grow no more than 2x per week. Larger jumps trigger fresh throttling even at warm IPs.
How to diagnose: throttling or filtering?
Check three things in order:
- Bounce log analysis: 4xx codes > 5xx codes points to throttling. 5xx-dominated bounces point to filtering or auth failure.
- Inbox placement test: send one message through our free test — 9 seed mailboxes including Mail.ru and Yandex — and check the authentication/placement summary. If placement is Inbox, the bulk delivery problem is throttling, not filtering.
- Postmaster dashboards: postmaster.mail.ru and postmaster.yandex.ru both expose a temp-fail rate metric. A spike there with stable reputation confirms throttling.