Очередь Postfix растет, когда сервер принимает письма локально, но не может передать их дальше. Причина содержится в статусе конкретного queue id: временная DNS-ошибка, отказ TLS, блокировка IP, лимит получателя или неверный transport.

Не запускайте принудительную повторную доставку всей очереди без анализа. Сгруппируйте deferred-письма по домену и тексту последней ошибки — обычно несколько причин объясняют большую часть накопления.

Что сделать в первую очередь

  • Запишите размер очереди, возраст старейшего письма и скорость роста.
  • Получите список deferred reason без вывода содержимого сообщений.
  • Проверьте свободное место, inode и нагрузку сервера.
  • Убедитесь, что сервер не используется для несанкционированной рассылки.

Почему возникает проблема

Симптом обычно появляется не из-за одной настройки. Сначала разделите путь данных на этапы и найдите место, где фактическое поведение расходится с ожидаемым.

  • Не разрешается MX или недоступен внешний DNS.
  • Получатель временно ограничивает скорость или отклоняет репутацию IP.
  • TLS negotiation завершается ошибкой сертификата или шифра.
  • Неверная карта transport направляет письма на недоступный relay.

Пошаговая диагностика

  • Проверьте postqueue и postcat для нескольких queue id.
  • Сгруппируйте ошибки connect, host not found, 4xx и 5xx.
  • Проверьте MX, A, PTR, SPF и доступность порта 25 с сервера.
  • Сравните время системы и срок сертификатов.
  • Посмотрите mail log и состояние активных процессов Postfix.

Как исправить

Исправляйте подтвержденную первопричину и сохраняйте возможность отката. После каждого изменения повторяйте один и тот же контрольный сценарий, чтобы не спутать результат нескольких правок.

  • Исправьте DNS, маршрут или relay согласно подтвержденной ошибке.
  • Для временных ограничений оставьте штатный backoff и снизьте скорость.
  • Удаляйте только явно нежелательные или окончательно ошибочные письма по точному критерию.
  • После исправления повторите доставку ограниченной группы и проверьте ответ.
  • Настройте лимиты отправителей, авторизацию и защиту от open relay.

Как проверить результат

  • Возраст старейшего deferred-письма уменьшается, а очередь стабильно сокращается.
  • Новые транзакционные письма доставляются без ожидания массовой очереди.
  • В журнале нет повторяющейся причины отказа и всплеска неизвестных отправителей.

Как не допустить повторения

  • Мониторьте размер очереди, oldest age и частые SMTP-коды.
  • Разделяйте сервисные и массовые потоки по политикам и приоритетам.
  • Следите за диском, DNS, сертификатами и репутацией адресов.

Частые вопросы

Можно ли удалить всю очередь?

Технически можно, но это уничтожит и корректные письма. Сначала нужно определить причину и состав очереди.

Почему письмо долго висит с кодом 4xx?

4xx означает временный отказ, поэтому Postfix повторяет доставку по расписанию. Причину нужно читать в полном ответе сервера.

Когда стоит обратиться за помощью

Для первичной диагностики достаточно статистики очереди, нескольких обезличенных ошибок и DNS домена. Содержимое писем и пароли пользователей передавать не нужно.

Итог

Очередь Postfix лечат по причине отказа, а не массовым flush. Я могу проверить DNS, маршруты, TLS, репутацию и настроить мониторинг, чтобы накопление замечалось сразу.