#Симптомы и область применимости
При массовой отправке почты появляются ответы «rate limit», «too many messages» или 421/451, хотя отдельное письмо может уходить. Причину ищите в ограничениях SMTP-провайдера, доменной репутации и скорости приложения, а не в величине интернет-канала.
#Причины и диагностические признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Превышена квота провайдераСервис ограничивает скорость или объём по тарифу и репутации. | Отказы связаны с числом писем в час, сутки или количеством получателей | Найдите лимит именно вашего аккаунта или IP. |
| Программа повторяет отправку слишком частоНеправильные повторные попытки при 4xx усиливают перегрузку. | В очереди много дублей с одинаковой темой | Настройте экспоненциальную задержку и исключение дублей. |
| Письма похожи на нежелательную рассылкуСрабатывают репутационные и антиспам-ограничения. | Жалобы и блокировки выросли после новой кампании | Проверьте согласие адресатов и содержание кампании. |
#Пошаговая диагностика и исправление
- 1. Определите, на каком этапе получен отказОткройте отчёт почтового приложения и сообщение об отказе, выпишите код SMTP и строку целиком. Уточните, речь о вашем Postfix, relayhost или принимающем сервере: это разные лимиты. Код 421/451 обычно сообщает о временном условии, но текст и правила провайдера важнее одного числа.
- 2. Сверьте подтверждённый тарифный пределВ панели провайдера почты откройте ограничения отправки и журнал операций; найдите количество сообщений, получателей, одновременных подключений и период сброса. Если точный лимит не опубликован, запросите его через поддержку; не угадывайте объёмы в десятки тысяч писем.
- 3. Посчитайте частоту отправки по фактамВозьмите одну короткую выборку журнала отправителя за проблемную минуту. Считайте попытки на SMTP-аккаунт, домен и IP отдельно; несколько получателей в одном сообщении могут расходовать квоту получателей. Не публикуйте личные данные из журнала.
- 4. Проверьте очередь на повторяющиеся ID и причины deferredНа Postfix просмотрите задержанные письма. У одного сообщения может быть несколько попыток доставки, но одинаковые тела от разных ID могут означать повторное создание письма приложением. Не очищайте очередь для искусственного снижения показателя.
- Только просмотр очереди; высокие объёмы вывода лучше анализировать локальноLinux · Терминал (Bash)КомандаНужен sudoТолько просмотр очереди; высокие объёмы вывода лучше анализировать локально.
sudo postqueue -p
- 5. Поставьте ограничение в приложении-отправителеОткройте настройки задач сайта или системы рассылок: задайте размер партии и интервал строго ниже подтверждённой квоты, ограничьте параллельные SMTP-сеансы. При временном отказе используйте запланированный повтор с увеличивающейся задержкой, а не бесконечный цикл. Сначала испытайте на пяти собственных адресах.
- 6. Разделите транзакционную почту и кампанииУбедитесь, что уведомления о входе, заказах и сбросе пароля не стоят в одной перегруженной очереди с маркетинговой кампанией. При наличии разрешённого провайдером разделения используйте разные потоки или сервисы, сохранив подлинность отправителя и обязательные уведомления.
- 7. Проверьте состояние базы подписчиковОткройте список согласий, исключите отказавшихся получателей и недействительные адреса. Не обходите лимит переходом на цепочку новых аккаунтов: это усиливает блокировки. Для рассылок настройте работающую отмену подписки и обработку окончательных отказов 5xx.
- 8. Проведите контролируемую проверкуОтправьте небольшую разрешённую партию на собственные ящики и посмотрите новые ответы сервера, скорость удаления из очереди и количество успешных доставок. Увеличивайте частоту только после нескольких успешных интервалов без новых 4xx и жалоб.
#Как убедиться, что проблема устранена
При стабильной низкой нагрузке сообщения отправляются без rate limit, очередь постепенно уменьшается, а транзакционные уведомления не задерживаются. Источник ошибки точно установлен, согласие получателей соблюдается.
#Если проблема осталась
Если лимит не поддаётся настройке, остановите массовую кампанию и запросите повышение квоты или специализированный сервис рассылок. Для подтверждения направьте поддержке обезличенные SMTP-коды, время и количество сообщений.