Throttling рассылки: ограничение скорости отправки email
Throttling (тротлинг) - принудительное ограничение скорости, с которой отправитель может передавать email-сообщения на почтовый сервер получателя. Провайдеры применяют throttling для защиты своей инфраструктуры от перегрузки и для борьбы со спамом. Отправители используют его добровольно, чтобы не повредить репутацию IP и домена.
Почему провайдеры тротлят отправителей
Почтовый провайдер обрабатывает миллиарды писем в день. Если один отправитель внезапно начинает слать десятки тысяч сообщений в минуту, это создаёт нагрузку на серверы и выглядит как спам-атака. Даже если рассылка легитимная.
Провайдер реагирует несколькими способами:
- Временный отказ (4xx) - сервер отвечает кодом 421 или 452, означающим «попробуй позже». Отправляющий сервер должен поставить письмо в очередь и повторить попытку через определённый интервал.
- Задержка соединения - сервер принимает подключение, но искусственно замедляет ответы, растягивая каждую SMTP-сессию.
- Блокировка IP - при грубом превышении лимитов провайдер полностью блокирует IP на период от нескольких минут до нескольких суток.
Лимиты крупных провайдеров
Точные лимиты не публикуются, но приблизительные значения известны из практики:
- Gmail - для нового IP без истории рекомендуется отправлять не более 200-500 писем в час на домен gmail.com. Для IP с устоявшейся репутацией лимит может достигать десятков тысяч в час.
- Yahoo/AOL - жёстко тротлят при всплесках. Новый IP может отправить 100-200 писем в час без проблем, но резкое увеличение объёма приведёт к 421-ответам.
- Mail.ru - ограничения зависят от репутации домена в Postmaster Mail.ru. Новые отправители начинают с жёстких лимитов, которые расширяются по мере накопления положительной истории.
- Outlook/Hotmail - Microsoft использует агрессивный throttling для IP без истории. Код 421 TS01 и TS02 означает временную блокировку из-за подозрительного объёма.
Warming up: разогрев IP и домена
Throttling напрямую связан с процессом warming up. Новый IP или домен не имеет отправительской истории. Провайдеры не знают, чего от вас ждать, и устанавливают минимальные лимиты. Задача разогрева - постепенно увеличивать объём отправки, давая провайдерам время оценить качество ваших рассылок.
Типичный план разогрева: начать с 50-100 писем в день, удваивать объём каждые 2-3 дня, достигая целевого объёма за 2-4 недели. При этом важно отправлять письма самым активным подписчикам - тем, кто гарантированно откроет и прочитает. Высокая вовлечённость на старте формирует положительную репутацию.
Добровольный throttling: зачем ограничивать себя
Опытные отправители настраивают throttling на своей стороне, не дожидаясь ограничений от провайдера. Причины:
- Контроль нагрузки на собственные серверы. Массовая рассылка на миллион адресов за 10 минут перегрузит исходящий MTA.
- Распределение во времени. Растянув рассылку на несколько часов, вы избегаете пиковых нагрузок на принимающей стороне.
- Защита репутации. Резкий всплеск объёма - красный флаг для провайдеров. Плавная отправка выглядит естественнее.
- Возможность мониторинга. Если вы растягиваете рассылку, у вас есть время заметить проблемы (рост bounces, жалоб) и остановить отправку до того, как пострадает вся база.
Как настроить throttling в ESP
Большинство email-сервисов (SendGrid, Mailgun, Amazon SES, Postmark) позволяют задать лимит отправки в час или в минуту. Некоторые ESP автоматически управляют throttling, адаптируя скорость к ответам принимающих серверов: если приходят 421-коды, система замедляет отправку.
При использовании собственного MTA (Postfix, PowerMTA) throttling настраивается вручную. В Postfix это параметры default_destination_rate_delay и default_destination_concurrency_limit. PowerMTA предоставляет более гранулярный контроль с настройкой лимитов для каждого домена отдельно.
uChecker валидирует базу до отправки, сокращая объём рассылки за счёт удаления невалидных адресов. Меньше писем - ниже нагрузка на провайдеров, меньше риск throttling и блокировок.
