техническое · ответ с источниками
Какой порт использует SMTP? Справочник по стандартным портам SMTP
SMTP использует порт 25 для передачи между серверами, порт 587 для отправки писем через STARTTLS и порт 465 для неявного TLS. Правильный порт зависит от того, отправляете ли вы почту от клиента к серверу или передаёте её между двумя почтовыми серверами.
Порт 25 для передачи между серверами
Порт 25 — исходный стандартный порт SMTP. В основном он используется для передачи писем между агентами передачи почты (MTA). Большинство провайдеров домашнего интернета (ISP) и облачных провайдеров блокируют исходящий трафик на порт 25, чтобы предотвратить рассылку спама со взломанных устройств. Разработчикам не стоит использовать порт 25 для отправки писем из клиентов — его следует оставить для обмена между серверами.
Порт 587 для отправки писем
Порт 587 — современный стандарт для отправки писем. Почтовые клиенты используют его, чтобы передавать письма на сервер отправки. Этот порт обычно работает со STARTTLS: соединение начинается незашифрованным и затем переводится в защищённое TLS-соединение. Это рекомендуемый порт для интеграции приложений и сторонних SMTP-сервисов.
Порт 465 для неявного TLS
Порт 465 изначально был назначен для SMTPS. Хотя когда-то он был объявлен устаревшим, его по-прежнему широко используют для неявного TLS, при котором соединение зашифровано с самого первого пакета. Многие устаревшие системы и отдельные провайдеры до сих пор требуют порт 465 для защищённой передачи, хотя для новых реализаций обычно предпочтителен порт 587.
Как выбрать правильный порт
Чтобы выбрать правильный порт, определите свою роль в почтовом потоке. Если вы настраиваете сервер для приёма почты от других серверов, используйте порт 25. Если вы пишете код для отправки писем через API или SMTP-релей, используйте порт 587. С помощью бесплатных инструментов SendHQ можно проверить настройки DNS и аутентификации, чтобы ваша почта принималась независимо от используемого порта.
Устранение проблем с подключением
Тайм-ауты соединения на порту 25 обычно указывают на блокировку со стороны интернет-провайдера. Если не работает порт 587, проверьте, поддерживает ли клиент STARTTLS и разрешает ли файрвол исходящий трафик на этот порт. Всегда проверяйте правильность учётных данных, так как многие серверы отклоняют соединения на портах отправки без действительной SMTP AUTH.
Что спрашивают команды
Безопасен ли порт 25?
По умолчанию порт 25 не защищён. Он может использовать STARTTLS, но интернет-провайдеры часто блокируют его для борьбы со спамом, и для отправки писем из клиентов он не рекомендуется.
Чем порт 465 отличается от 587?
Порт 465 использует неявный TLS: соединение шифруется сразу. Порт 587 использует явный TLS: команда STARTTLS переводит незашифрованное соединение в защищённое.
Почему SMTP-соединение завершается по тайм-ауту?
Тайм-ауты часто вызваны правилами файрвола или блокировкой порта 25 интернет-провайдером. Переход на порт 587 обычно решает такие проблемы с подключением.