Skip to content
Mailwel
Theme
Advanced Strategies · updated 2026-10-02

Traffic Shaping

Control sending speed and patterns to stay within mailbox provider thresholds.

Traffic shaping means controlling how fast, when, and in what order your email leaves your server, so each mailbox provider gets it at a pace it accepts. Send too fast and providers tell you to “try again later”, your mail piles up, and your reputation suffers. This article explains why providers slow senders down, how to set limits for each one, and how to read your mail queue.

What traffic shaping is

Say a shop sends a 500,000-email newsletter at full speed. It hits rate limits (caps on how much one sender can deliver in a given time). Many messages get deferred: the receiving server asks you to retry later. Some get rejected. The same newsletter, sent at a steady pace, arrives smoothly.

You shape traffic with two controls:

  1. Connections. SMTP is the language mail servers use to pass email to each other. You choose how many SMTP connections (open lines to the receiving server) you keep open to each provider at once.
  2. Message rate. You choose how many messages you send to each provider per minute or per hour.
Your mail, by priority Your sending server Receiving providers 1. Transactional 2. Triggered 3. Campaigns Priority queues Gmail Outlook.com Yahoo resets, receipts welcome, cart reminders newsletters, offers transactional first paced per provider retries deferred mail pace follows reputation strict with new IPs watches connections Transactional mail never waits behind a campaign
Shaping sorts mail by urgency, then sends to each provider at the pace it accepts.

Why providers slow you down

  • To protect their servers. A sender that opens 100 connections at once takes capacity other senders need.
  • To make spamming harder. Spammers send as fast as they can. Real senders can afford to wait.
  • To buy time to judge you. A reply code starting with 4 (a “4xx” code) is a temporary error meaning “try again later”. It gives the provider time to check your reputation. How you retry is a signal too: proper mail servers retry calmly, while spam tools often never retry or retry far too fast.
  • To catch sudden spikes. If you usually send 10,000 emails a day and suddenly send 100,000, the jump looks like a hacked account or a bought list, even if the content is fine.

How the big providers behave

None of them publish exact limits, and the limits change with your reputation. Treat these as patterns, not numbers.

Gmail

  • Your limits rise and fall with the reputation of your IP address and your domain.
  • When you send too fast, Gmail answers with a temporary 4xx code, often 421. That’s a deferral, not a rejection.
  • More IP addresses can deliver in parallel, but they don’t get around a domain with poor reputation.
  • If you keep hitting the limit, Gmail can lower it further.

Microsoft (Outlook.com, Hotmail, Live)

  • Microsoft is stricter than Gmail with new IP addresses.
  • SNDS (Microsoft’s free dashboard showing how it sees your IPs) tends to match how generous your limits are.
  • It usually defers with 421 before it blocks with 550.

Yahoo

  • Yahoo is cautious with senders it doesn’t know, and allows few connections per IP.
  • Too many connection attempts can trigger deferrals, even when you send few messages.
  • When volume or complaints look unusual, it defers with codes like 421 4.7.0 [TSS04].

Setting limits on your sending server

The software that sends your mail is an MTA (mail transfer agent), such as Postfix, PowerMTA, Momentum or Halon. Most let you set these limits for each receiving domain.

Connections at once. For example:

# Starting points for connections at once (adjust to your reputation)
# Gmail: up to 20 connections at once
# Yahoo: up to 5 connections at once
# Microsoft: up to 10 connections at once

This is a sketch, not real configuration. Each line sets a ceiling for one provider. Yahoo gets the lowest because it reacts most to connections. Start low, and raise the numbers while deferrals stay rare.

Messages per connection. How many messages to send before you close a connection and open a new one. Some providers prefer short connections (10–50 messages), others accept 100 or more. Reusing a connection for several messages is more efficient than opening one per message.

Messages per hour or day. A hard cap per provider. It’s your safety net if something sends far more than planned.

Retry schedule. When a message is deferred, your MTA waits and tries again. A typical schedule:

  • retry after 15 minutes, then 30 minutes, then 1 hour
  • after that, wait longer each time, up to about 4 hours between tries
  • give up after one to five days (the SMTP standard suggests at least four to five; many services stop sooner)

Automatic speed control

Many MTAs and ESPs (email service providers, companies that send your mail for you) adjust the pace for you. This is called adaptive throttling.

Send a batch at the current pace Read the reply code from provider 2xx: accepted keep the pace or raise it 4xx: try again later slow down, retry with gaps 5xx: blocked stop and find the cause next batch, new pace
Each reply code sets the pace for the next batch, for each provider separately.
  1. Start at a base rate.
  2. Read every reply code from the receiving server.
  3. 2xx (accepted): keep the pace, or raise it.
  4. 4xx (deferred): slow down and wait longer between retries.
  5. 5xx block: stop sending to that provider and alert someone.
  6. Speed up again, slowly, once deferrals stop.

Not every 5xx code is a block. 550 5.1.1 means one address doesn’t exist: a bounce for one reader, not a reason to stop. A block is a 5xx reply that refuses your mail because of reputation or policy.

Spreading sends over time

Instead of sending 200,000 emails in 30 minutes at 9:00 AM, send 50,000 an hour from 9:00 to 12:00. Or send a steady trickle of about 25,000 an hour from 9:00 AM to 5:00 PM.

Spreading your send keeps you under hourly limits, looks less suspicious, and spreads the load on your own servers. It also gives you time to spot a problem before the whole campaign has gone out.

Your mail queue

The queue is the waiting line of messages your server hasn’t delivered yet.

Healthy and unhealthy queues

A healthy queue drains at a steady rate. It peaks after a campaign, then falls back to near zero within a few hours.

An unhealthy queue:

  • keeps growing, because you add mail faster than it leaves
  • holds many deferred messages, because a provider is slowing you down
  • has messages older than 24 hours, which need investigating

Priorities

Not all mail is equally urgent. Send in this order:

  1. Transactional mail: password resets, order confirmations, two-factor codes. These must arrive within seconds. Give them their own queue so they never wait behind marketing.
  2. Triggered mail: welcome emails, abandoned-cart reminders. Timely, but not instant.
  3. Campaigns: newsletters, offers, announcements. These can spread over hours.
  4. Re-engagement and bulk mail: win-back campaigns, list-wide announcements. Delays barely matter.

Deferred mail

Your MTA moves a deferred message to a retry queue and retries it with longer gaps each time. After the maximum retry time, it gives up and reports the message as failed.

  • Don’t retry more often when deferrals rise. That makes it worse.
  • Look for patterns: the same provider, the same error, the same time of day.
  • If many deferred messages never arrive, find the cause. Read the error codes in your logs, or test a connection to the provider’s mail server with the SMTP probe.

On a shared IP

A shared IP is an IP address your ESP uses for many customers at once. The ESP sets the limits, the connections, and whose mail goes first. You still control:

  • When you send. Avoid the busiest moments, like exactly on the hour.
  • Volume jumps. Grow step by step instead of sending a sudden blast.
  • List quality. A poor list hurts the shared IP and everyone on it.

If throttling on a shared IP hurts your delivery, ask your ESP about the IP’s reputation, or ask to move to another pool. A dedicated IP (one only you use) makes sense only if you send enough, steadily, to keep it warm. A common rule of thumb is 50,000 or more emails a month.

What to measure

These thresholds are rules of thumb:

Metric Healthy Investigate
Deferral rate, overall Under 5% Over 5%
Deferral rate, per provider Under 10% Over 10%
Average time in queue Under 2 hours Over 4 hours
Queue size trend Shrinking Growing
Retries that succeed Over 90% Under 80%
Messages over 24 hours in queue Under 1% Over 2%

Also track reply codes per provider over time:

  • More 2xx: delivery is improving.
  • More 4xx: the provider is slowing you down harder. Check your reputation.
  • More 5xx: the provider has moved from slowing you to blocking you. You have a reputation problem.
  • More connection errors: you may be blocked at the network or IP level.

Checklist

  • Set connection, rate and daily limits for each major provider. Start low.
  • Retry with growing gaps, and give up after one to five days.
  • Turn on adaptive throttling if your MTA or ESP offers it.
  • Give transactional mail its own queue, ahead of everything else.
  • Spread large campaigns over hours, not minutes.
  • Watch queue size, deferral rate and reply codes for each provider.