техническое · ответ с источниками

SMTP-порт 587 или 25: какой порт использовать для отправки почты

Используйте порт 587 для отправки писем из клиента или приложения на почтовый сервер. Порт 25 предназначен для передачи почты между серверами и часто блокируется интернет-провайдерами для борьбы со спамом. Порт 587 поддерживает STARTTLS для надёжного шифрования и является современным стандартом для отправки писем (submission).

Порт 587 для отправки писем

Порт 587 — выделенный порт для отправки писем (submission). Его используют почтовые клиенты вроде Outlook или собственные приложения, чтобы отправлять почту на SMTP-сервер. Этот порт обычно требует аутентификации и использует команду STARTTLS, чтобы перевести незашифрованное соединение в защищённый сеанс с шифрованием TLS. Поскольку это стандарт для отправки писем, интернет-провайдеры редко его блокируют, и для разработчиков это надёжный выбор. SendHQ предлагает бесплатные инструменты на https://sendhq.cc/tools, которые помогут проверить настройки почты.

Порт 25 для передачи между серверами

Порт 25 — исходный порт SMTP, который используется для передачи почты между агентами передачи почты (MTA). Когда один почтовый сервер отправляет письмо другому, он использует порт 25. Однако из-за огромного объёма спама со взломанных домашних компьютеров и скриптов без аутентификации большинство провайдеров домашнего интернета и облачных провайдеров блокируют исходящий трафик на порт 25. Попытки использовать порт 25 для отправки из приложения часто заканчиваются тайм-аутом соединения.

Различия в безопасности и шифровании

Порт 587 рассчитан на работу со STARTTLS, который позволяет клиенту и серверу договориться о защищённом соединении после начального рукопожатия. Порт 25 тоже может поддерживать STARTTLS, но в устаревших системах часто используется для незашифрованного трафика. Для неявного TLS иногда используют порт 465, хотя стандартом для отправки писем, рекомендованным IANA, остаётся порт 587. Порт 587 гарантирует, что аутентификация будет выполнена правильно до того, как письмо будет принято к доставке.

Как выбрать правильный порт

Если вы пишете код на Python, Node.js или используете библиотеку для отправки транзакционных писем, всегда начинайте с порта 587. Используйте порт 25, только если настраиваете полноценный почтовый сервер, который должен принимать почту от других серверов в интернете. Если приложение не может подключиться через порт 587, проверьте настройки файрвола или группы безопасности облачного провайдера и убедитесь, что исходящий трафик на этот порт разрешён.

Что спрашивают команды

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

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

Безопасен ли порт 587?

Да, порт 587 использует STARTTLS для шифрования обмена между клиентом и сервером, защищая учётные данные и содержимое писем.

Можно ли вместо него использовать порт 465?

Порт 465 изначально предназначался для SMTPS (неявный TLS). Он по-прежнему распространён, но текущим стандартом для отправки писем остаётся порт 587 со STARTTLS.

Первоисточники