Главная

SMTP: как работает протокол отправки email

Дата: 2026-07-22 | Время чтения: 9 минут (1635 слов)
SMTP (Simple Mail Transfer Protocol) — протокол передачи email-сообщений от приложения или почтового клиента на сервер отправителя и между почтовыми серверами. Он отвечает за отправку и пересылку письма, но не за его получение пользователем.

Как работает SMTP

SMTP работает по клиент-серверной модели. Клиентом может быть почтовое приложение, маркетинговая платформа или сервер отправителя, а сервером — узел, который принимает сообщение и передаёт его дальше.

Обычно письмо проходит такой путь:

Приложение или почтовый клиент → сервер отправителя → сервер получателя → почтовый ящик
Сервер отправителя определяет подходящий сервер получателя по MX-записям домена и устанавливает с ним соединение. Если письмо проходит через промежуточный сервер, тот действует как SMTP-релей и передаёт сообщение дальше.
Базовый порядок обмена описан в спецификации протокола SMTP — RFC 5321:
  1. Устанавливается соединение. SMTP-клиент подключается к серверу по TCP. Сервер отвечает кодом 220, подтверждая готовность к обмену.

  2. Клиент представляется серверу. Команда EHLO передаёт имя клиента, а сервер возвращает список поддерживаемых расширений. Старые реализации могут использовать команду HELO.

  3. Настраиваются защита и доступ. Если сервер поддерживает STARTTLS, соединение переводят в зашифрованный режим. При отправке через сервер провайдера или компании клиент обычно проходит аутентификацию.

  4. Указывается отправитель. Команда MAIL FROM задаёт обратный адрес SMTP-конверта, который используют для сообщений о недоставке. Этот адрес может отличаться от видимого получателю поля From.

  5. Указываются получатели. Команда RCPT TO передаётся отдельно для каждого адреса. Сервер может принять одних получателей и отклонить других.

  6. Передаётся письмо. После команды DATA клиент отправляет служебные заголовки и содержимое сообщения. Передача завершается строкой с одной точкой.

  7. Сервер сообщает результат. Ответ 250 после передачи данных означает, что сервер принял сообщение и взял на себя его дальнейшую обработку. Команда QUIT завершает SMTP-сессию.

Ответы SMTP-сервера делятся на три основные группы:

Первая цифра кодаЧто означает
2xxКоманда выполнена, сообщение или получатель приняты
4xxВременная ошибка: отправку обычно повторяют позже
5xxПостоянная ошибка: для новой попытки нужно изменить адрес, сообщение или настройки
Ответ 250 подтверждает приём сообщения SMTP-сервером, но не гарантирует его появления во «Входящих». После приёма почтовый провайдер проверяет письмо по своим правилам.
Информационная система — например, сайт, CRM, интернет-магазин или маркетинговая платформа — может передать письмо сервису отправки через SMTP или API.
  • SMTP подходит для систем, которые работают со стандартным почтовым подключением.

  • API используют, когда приложение напрямую взаимодействует с конкретным сервисом отправки через его программный интерфейс. После приёма запроса сервис передаёт сформированное письмо в почтовую инфраструктуру.

Как письмо передаётся по SMTP

Чем SMTP отличается от IMAP и POP3

SMTP используют для отправки сообщений. IMAP и POP3 решают другую задачу — дают почтовому клиенту доступ к уже полученным письмам.
ПротоколОсновная задачаКак работает с письмами
SMTPОтправка и пересылкаПередаёт сообщение от клиента серверу и между серверами
IMAPРабота с почтой на сервереСинхронизирует письма, папки и статусы между устройствами
POP3Загрузка почтыСкачивает сообщения с сервера на устройство

Порты SMTP

SMTP-порт указывает администратор, разработчик или другой специалист при подключении почтового клиента, платформы или SMTP-релея. Назначение портов пригодится при настройке канала и диагностике ошибок.

ПортГде используют
25Для передачи почты между SMTP-серверами. Для отправки из пользовательских приложений и некоторых облачных сред порт может быть недоступен
587Для передачи письма от приложения или почтового клиента на сервер отправителя. Соединение обычно защищают с помощью STARTTLS. Назначение порта описано в RFC 6409
465Для передачи письма с TLS-шифрованием, которое устанавливается сразу при подключении. Такой способ описан в RFC 8314

Некоторые сервисы также предлагают порт 2525 как запасной. Он не стандартизирован для SMTP, поэтому его используют только тогда, когда он указан в документации выбранного сервиса.

Шифрование и аутентификация

Без шифрования SMTP-трафик можно перехватить — в том числе передаваемые при авторизации учётные данные. Для защиты соединения используют один из двух способов установки TLS-соединения (Transport Layer Security) — в зависимости от настроек SMTP-сервера.

  • STARTTLS начинает обмен как обычное SMTP-соединение, после чего клиент и сервер переходят в зашифрованный режим. Обычно этот способ используют при подключении через порт 587.

  • Неявный TLS устанавливает защищённое соединение сразу при подключении, обычно через порт 465.
SMTP-аутентификация подтверждает право клиента отправлять почту через сервер. Некоторые механизмы передают логин и пароль в кодировке Base64, но кодирование не защищает данные от перехвата. Поэтому такие механизмы используют только внутри TLS-соединения. Расширение SMTP для аутентификации описано в RFC 4954.
SMTP-аутентификацию не следует путать с аутентификацией домена. В первом случае сервер проверяет право клиента отправлять через него письма. Во втором принимающий провайдер использует SPF, DKIM и DMARC, чтобы проверить отправляющую инфраструктуру и домен письма.
Современные почтовые системы используют расширенную версию протокола — ESMTP. Через ответ на команду EHLO сервер сообщает о доступных расширениях, например STARTTLS и AUTH. ESMTP не заменяет SMTP, а дополняет его новыми возможностями.

Роль SMTP в доставляемости

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

После приёма письма почтовый провайдер проводит дополнительные проверки. Он оценивает настройки домена отправителя, репутацию домена и IP-адреса, качество базы, объём отправки, содержание письма и реакцию получателей. От сочетания этих факторов зависит, будет ли сообщение отклонено на последующих этапах или попадёт во «Входящие» либо спам.

Причины недоставки писем в отчёте Altcraft

Отправка email через AKMTA

В Altcraft Platform для отправки email по SMTP используется собственный транспортный модуль AKMTA — Altcraft Mail Transfer Agent. В нём настраивают скорость отправки и поведение при отрицательных ответах почтовых провайдеров.

AKMTA может передавать письма непосредственно почтовым провайдерам или через внешний SMTP-релей. Для релея указывают адрес и порт сервера, способ аутентификации и режим шифрования.

Выбор зависит от инфраструктуры компании. При прямой отправке она управляет собственными серверами и правилами их работы, а релей передаёт сообщения через выбранный внешний сервис или корпоративный шлюз.

Подключение SMTP-релея в Altcraft

В on-premise-версии Altcraft AKMTA разворачивается в инфраструктуре компании. Администраторы настраивают серверы отправки и правила их работы. Подробности описаны в документации по email-каналу.
Разберитесь в настройке email-рассылок, автоматических сценариях и аналитике на бесплатном курсе Altcraft.

Заключение

SMTP передаёт email-сообщения от приложения к серверу отправителя и между почтовыми серверами. Команды протокола выполняются автоматически, но их последовательность объясняет, как серверы принимают и передают письмо и на каком этапе может возникнуть ошибка. Для безопасной отправки используют подходящий порт, TLS и аутентификацию, а причины недоставок определяют по ответам серверов и сообщениям о возвратах.

Читайте по теме

subscription, banner, email

Покажем платформу
и найдём решение под задачи вашего бизнеса