emailr_
All articles
explainer·8 min

Email throttling explained: Rate limits and best practices

deliverabilitythrottlingsending

Summary

Email throttling is when receiving servers slow down or temporarily reject your emails because you're sending too fast. Understanding rate limits and implementing proper throttling prevents delivery failures and protects your reputation.

A developer once told me about the time they "optimized" their email sending system. The old system sent emails sequentially, one at a time. Painfully slow. So they parallelized it—50 concurrent connections, blasting emails as fast as the network could handle.

The first batch of 10,000 emails went out in under a minute. Then Gmail started returning 421 errors: "Too many connections from your IP." Microsoft followed with similar rejections. Yahoo queued everything for hours. The "optimization" had triggered throttling from every major email provider simultaneously.

Email throttling exists because receiving servers need to protect themselves from abuse. Understanding how it works—and how to work within its constraints—is essential for reliable email delivery.

Why throttling exists

Email servers face a constant barrage of connection attempts. Spammers try to deliver millions of messages as quickly as possible before they get blocked. Legitimate senders sometimes misconfigure systems and accidentally flood servers. Compromised accounts can turn into spam cannons without warning.

Throttling is the defense mechanism. By limiting how many connections a sender can make, how many messages they can send per connection, and how quickly they can send, receiving servers protect themselves from being overwhelmed.

The limits aren't arbitrary. They're calibrated based on the sender's reputation, historical patterns, and current server load. A sender with excellent reputation and consistent patterns gets generous limits. An unknown sender or one with suspicious patterns gets strict limits. A sender currently exhibiting spam-like behavior might get blocked entirely.

This creates a feedback loop. Good senders who respect limits maintain good reputation and get higher limits. Bad senders who try to circumvent limits damage their reputation and face stricter enforcement.

Types of throttling

Throttling manifests in several ways, and recognizing each helps you respond appropriately.

Connection limits restrict how many simultaneous connections you can have to a server. Try to open too many, and new connections get rejected. This is often the first limit you'll hit if you're sending too aggressively.

Rate limits restrict how many messages you can send per unit of time—per minute, per hour, per day. Even with a single connection, sending too many messages too quickly triggers rate limiting.

Temporary deferrals are soft rejections. The server accepts your connection but returns a 4xx error code saying "try again later." Your email isn't rejected permanently; you're just being asked to slow down. Proper email systems automatically retry these with increasing delays.

Permanent rejections (5xx errors) are harder failures. These might indicate you've exceeded limits so severely that the server won't accept your email at all, at least for now. Or they might indicate a reputation problem beyond simple throttling.

Greylisting is a specific technique where servers temporarily reject emails from unknown senders, expecting legitimate servers to retry. Spammers often don't retry; legitimate servers do. If you see temporary rejections that succeed on retry, greylisting might be the cause.

Reading the signals

When you hit throttling, the error messages usually tell you what's happening—if you know how to read them.

A 421 error typically means "temporary problem, try again." Messages like "Too many connections" or "Rate limit exceeded" are explicit. Others are vaguer: "Try again later" without explanation. Either way, the response is the same: back off and retry.

A 450 error often indicates the recipient server wants you to slow down. It's a softer signal than 421, but the meaning is similar.

A 550 error is more serious—it's a permanent rejection. But context matters. "550 Message rejected due to sending rate" suggests you've pushed past throttling into reputation damage territory. "550 User unknown" is a different problem entirely.

The specific wording varies by provider. Gmail's error messages are relatively clear. Microsoft's can be cryptic. Some servers give detailed explanations; others give generic rejections. Experience helps you interpret these signals.

Implementing proper throttling

Your email sending system needs to respect rate limits proactively, not just react when you hit them.

Start with conservative defaults. If you don't know a receiving server's limits, assume they're strict. A few hundred messages per hour to a single domain is a safe starting point. You can increase as you learn the actual limits.

Implement exponential backoff for retries. When you get a temporary rejection, don't immediately retry. Wait a minute, then try again. If rejected again, wait two minutes. Then four. This pattern prevents you from hammering a server that's already asking you to slow down.

Spread your sending over time. If you need to send 100,000 emails, don't try to send them all in an hour. Spread them across the day. This smooths your sending pattern and reduces the chance of hitting rate limits.

Respect per-domain limits. Gmail's limits are different from Microsoft's, which are different from Yahoo's. Your system should track sending rates per destination domain and throttle accordingly. Sending 10,000 emails to Gmail in an hour might be fine; sending 10,000 to a small company's mail server probably isn't.

Monitor and adapt. Track your delivery rates, error rates, and error types by destination. If you're consistently hitting limits with a particular provider, reduce your sending rate to them. If you never hit limits, you might be able to increase throughput.

Provider-specific considerations

Major email providers publish guidance on their rate limits, though the specifics often remain vague.

Gmail generally allows higher volumes from senders with good reputation. They don't publish exact numbers, but they do provide feedback through Postmaster Tools. If you're seeing throttling, check your reputation there—low reputation means stricter limits.

Microsoft has historically been more aggressive with throttling, especially for new senders. Their limits seem to be more connection-based than message-based. Reducing concurrent connections often helps more than reducing message rate.

Yahoo and other Verizon Media properties have their own patterns. They're generally more tolerant of volume but can be strict about connection behavior.

Smaller email providers vary wildly. A company running their own mail server might have very low limits simply because their infrastructure can't handle high volume. When sending to diverse recipients, your system needs to handle this heterogeneity.

When throttling indicates bigger problems

Sometimes throttling is just throttling—you're sending too fast, slow down, problem solved. But sometimes it's a symptom of reputation problems.

If you're being throttled at volumes that used to work fine, your reputation may have degraded. Check for increased spam complaints, bounce rates, or spam trap hits. The throttling might be a warning sign before more serious blocking.

If you're being throttled immediately on a new IP or domain, that's normal—you haven't built reputation yet. But if throttling persists after proper warming, something else is wrong.

If one provider throttles you heavily while others don't, investigate what's different about your traffic to that provider. Maybe your content triggers their specific filters, or maybe you have reputation problems specific to their system.

Persistent throttling despite low volume and good practices suggests you should contact the provider directly. Major ISPs have postmaster contact channels for legitimate senders experiencing delivery problems.

Building systems that handle throttling gracefully

Good email infrastructure treats throttling as a normal operating condition, not an error.

Queue management is essential. When you can't send immediately, messages need somewhere to wait. Your queue should handle millions of messages if necessary, with proper prioritization (transactional before marketing, for instance).

Retry logic needs to be sophisticated. Different error types warrant different retry strategies. Temporary deferrals should retry relatively quickly with backoff. Permanent rejections shouldn't retry at all. Greylisting responses should retry after a specific delay.

Monitoring should alert on throttling patterns, not just failures. If your Gmail delivery rate drops by 50%, you want to know before it becomes a complete block.

Capacity planning should account for throttling. If you can only deliver 10,000 emails per hour to Gmail due to rate limits, and you have 100,000 Gmail recipients, you need 10 hours of sending time. Plan accordingly.

Frequently asked questions

How do I find out a provider's rate limits?

Most providers don't publish exact limits. Start conservatively and increase gradually while monitoring for throttling. Google Postmaster Tools and Microsoft SNDS provide some visibility into how your sending is being received.

Should I use multiple IPs to avoid throttling?

Sometimes, but carefully. Spreading load across IPs can help with connection limits. But if you're being throttled due to reputation, adding IPs just spreads the bad reputation. Fix the underlying issue first.

How long do I need to wait after being throttled?

It depends on the severity. Minor throttling might clear in minutes. Severe throttling or soft blocks might require hours or even a day. The error messages sometimes indicate timing; otherwise, exponential backoff is your friend.

Is throttling the same as being blacklisted?

No. Throttling is temporary rate limiting—slow down and you can continue sending. Blacklisting is a more permanent block that requires remediation. Persistent throttling can lead to blacklisting if you don't address the underlying cause.

e_

Written by the emailr team

Building email infrastructure for developers

Ready to start sending?

Get your API key and send your first email in under 5 minutes. No credit card required.