SMTP Error 421: Service Not Available

Ошибка SMTP 421 указывает на то, что почтовый сервер временно недоступен и закрывает канал передачи. Это временный сбой, который обычно происходит, когда сервер выключается, перезапускается или испытывает высокую нагрузку.

Что означает 421?

Код ответа SMTP 421 следует стандартному формату ответа SMTP:

  • 4 = Временный сбой (транзиентный отрицательный ответ завершения)
  • 21 = Служба недоступна, закрытие канала передачи

Когда вы получаете ошибку 421, это означает, что принимающий почтовый сервер временно не может принять ваше соединение или обработать ваш запрос. Сервер явно закрывает соединение, и вы должны повторить попытку позже.

Тип ошибки

  • Тип: Временный сбой (мягкая ошибка)
  • Категория: Доступность службы
  • Требуемое действие: Повторить соединение после задержки

Распространенные причины

  1. Выключение сервера: Почтовый сервер выключается для обслуживания или обновлений
  2. Перезапуск сервера: Почтовый сервер перезапускается или перезагружается
  3. Высокая нагрузка: Сервер испытывает большой трафик и временно отклоняет новые соединения
  4. Исчерпание ресурсов: Сервер исчерпал ресурсы (память, соединения и т.д.)
  5. Изменения конфигурации: Сервер применяет изменения конфигурации, требующие перезапуска
  6. Проблемы с сетью: Временные сетевые проблемы, препятствующие принятию соединений сервером

Как решить

Для отправителей электронной почты

  1. Подождать и повторить: Подождите несколько минут перед попыткой повторного соединения
  2. Экспоненциальная задержка: Реализуйте логику повторных попыток с экспоненциальной задержкой (подождите 1 минуту, затем 2 минуты, затем 4 минуты и т.д.)
  3. Проверить статус сервера: Убедитесь, что принимающий почтовый сервер не испытывает известных проблем
  4. Снизить скорость соединения: Если вы отправляете массовые электронные письма, снизьте скорость соединения, чтобы не перегрузить сервер
  5. Мониторить попытки повторения: Отслеживайте, сколько раз вы повторяете попытку, и остановитесь после разумного количества попыток

Для разработчиков

  1. Реализовать логику повторных попыток: Добавьте автоматическую логику повторных попыток с экспоненциальной задержкой
  2. Пулы соединений: Используйте пулы соединений для эффективного управления соединениями с сервером
  3. Обработка ошибок: Регистрируйте ошибки 421 отдельно от постоянных сбоев
  4. Ограничение скорости: Реализуйте ограничение скорости, чтобы не перегружать принимающие серверы
  5. Проверки работоспособности: Мониторьте работоспособность сервера и соответственно корректируйте стратегии повторных попыток

Связанные ошибки SMTP

Примеры

Пример сообщения об ошибке

421 Service not available, closing transmission channel

Пример с расширенным кодом состояния

421 4.7.0 Service not available, closing transmission channel

Типичные сценарии

  • Во время обслуживания: Сервер отправляет 421 перед выключением для обслуживания
  • Высокий трафик: Сервер временно отклоняет соединения в период пиковой нагрузки
  • Корректное выключение: Сервер отправляет 421 всем активным соединениям перед перезапуском

Лучшие практики

  1. Реализовать логику повторных попыток: Всегда повторяйте ошибки 421 после задержки
  2. Использовать экспоненциальную задержку: Экспоненциально увеличивайте время ожидания между повторными попытками
  3. Установить максимальное количество попыток: Ограничьте количество попыток повторения (например, 3-5 попыток)
  4. Мониторить частоту ошибок: Отслеживайте частоту ошибок 421 для выявления проблемных серверов
  5. Уважать ограничения сервера: Не подключайтесь сразу повторно; дайте серверу время на восстановление
  6. Логировать соответствующим образом: Регистрируйте ошибки 421 как предупреждения, а не как ошибки, поскольку они временные