Открыть сервис

SMTP Receive

SMTP Receive — это процесс приёма входящих электронных писем на почтовый сервер с использованием протокола SMTP (Simple Mail Transfer Protocol). В отличие от отправки (SMTP Send), которая осуществляется через порт 587 или 465 с аутентификацией, SMTP Receive обычно работает на порту 25 и предназначен для получения сообщений от других почтовых серверов, а не от почтовых клиентов (MUA). Этот процесс является ключевым элементом инфраструктуры электронной почты, обеспечивающим доставку писем от отправителя к получателю через цепочку серверов.

История и развитие

Протокол SMTP был впервые описан в 1982 году в RFC 821 (автор — Джонатан Постел). Изначально он не разделял функции отправки и приёма: один и тот же сервер мог как принимать письма от клиентов, так и пересылать их другим серверам. Однако с ростом объёмов спама и необходимостью аутентификации в 1990-х годах появилось разделение на SMTP Submission (отправка от клиента) и SMTP Receive (приём от другого сервера).

В 2001 году RFC 2821 закрепил это разделение, а RFC 5321 (2008 год) уточнил требования к SMTP-серверам, принимающим почту. В России развитие SMTP-серверов для приёма почты происходило в рамках общей эволюции интернет-инфраструктуры: первые почтовые системы (например, Relcom, 1990 год) использовали UUCP, но к середине 1990-х перешли на SMTP. Крупные российские почтовые сервисы (Mail.ru, Яндекс.Почта) внедрили собственные реализации SMTP Receive с поддержкой антиспам-фильтров и шифрования.

Архитектура и протокол

Основные участники процесса

Процесс SMTP Receive включает три основных компонента:

  1. MTA (Mail Transfer Agent) — программа, которая принимает письмо от другого MTA. Примеры: Postfix, Exim, Sendmail, Microsoft Exchange.
  2. MDA (Mail Delivery Agent) — доставляет письмо в почтовый ящик получателя (локально или на IMAP/POP3-сервер).
  3. MUA (Mail User Agent) — почтовый клиент получателя (например, Outlook, Thunderbird, веб-интерфейс).

Этапы приёма письма

Процесс SMTP Receive можно описать в виде последовательности команд и ответов (на основе RFC 5321):

  1. Установление соединения: MTA-отправитель (клиент) инициирует TCP-соединение на порт 25 сервера-получателя. Сервер отвечает кодом 220 (готов к работе).
  2. Приветствие (HELO/EHLO): Клиент отправляет команду HELO (или EHLO для расширенных возможностей). Сервер отвечает кодом 250.
  3. Указание отправителя (MAIL FROM): Клиент отправляет MAIL FROM:<адрес>. Сервер проверяет формат и отвечает кодом 250 или 550 (отказ).
  4. Указание получателя (RCPT TO): Клиент отправляет одну или несколько команд RCPT TO:<адрес>. Сервер проверяет существование ящика, политики приёма (например, блокировка спама) и отвечает кодом 250 (принято) или 550 (отклонено).
  5. Передача данных (DATA): После подтверждения получателей клиент отправляет DATA. Сервер отвечает кодом 354 (начать ввод данных). Клиент передаёт заголовки и тело письма, завершая точкой на отдельной строке.
  6. Завершение (QUIT): Клиент отправляет QUIT, сервер отвечает кодом 221 и закрывает соединение.

Коды ответов SMTP

Наиболее распространённые коды, используемые при SMTP Receive:

  • 220 — сервер готов.
  • 250 — запрос выполнен успешно.
  • 354 — начать ввод данных.
  • 450 — почтовый ящик временно недоступен (например, переполнен).
  • 550 — почтовый ящик не существует или отклонён (например, из-за политики безопасности).
  • 552 — превышен лимит размера письма.
  • 554транзакция отклонена (обычно из-за спама).

Антиспам и безопасность

SMTP Receive является критической точкой для фильтрации нежелательной почты. Современные серверы используют несколько уровней защиты:

Проверка отправителя

  • SPF (Sender Policy Framework) — проверка, что IP-адрес отправителя указан в DNS-записи домена отправителя.
  • DKIM (DomainKeys Identified Mail)цифровая подпись письма, позволяющая проверить его целостность и домен отправителя.
  • DMARC (Domain-based Message Authentication, Reporting & Conformance) — политика, определяющая, как сервер должен обрабатывать письма, не прошедшие SPF/DKIM.

Ограничение скорости

  • Rate limiting — ограничение количества писем от одного IP-адреса в единицу времени.
  • Greylisting — временный отказ с кодом 450 с последующей повторной отправкой (легитимные серверы повторяют попытку, спам-боты — нет).

Чёрные и белые списки

  • DNSBL (DNS-based Blackhole List) — списки IP-адресов, известных рассылкой спама (например, Spamhaus, Barracuda).
  • RBL (Real-time Blackhole List) — аналогичные списки, обновляемые в реальном времени.

Шифрование

Хотя SMTP изначально не предусматривает шифрования, современные серверы поддерживают STARTTLS (команда STARTTLS в рамках EHLO), позволяя шифровать соединение на порту 25. В России требования к шифрованию почтового трафика регулируются Федеральным законом «О связи» и приказами Минцифры, но обязательного шифрования для всех серверов не установлено.

Реализации в России

В России SMTP Receive используется всеми крупными почтовыми провайдерами:

  • Яндекс.Почта — использует Postfix с дополнительными модулями антиспама (Cyrus SASL, SpamAssassin). Принимает письма на порт 25, поддерживает STARTTLS, SPF, DKIM, DMARC.
  • Mail.ru — использует собственную реализацию на базе Exim. Внедрила систему «Письмо от человека» (верификация отправителя через SMS или звонок).
  • Рамблер/Почта — использует Sendmail с фильтрацией на основе RBL.

Также существуют корпоративные решения для российских компаний: CommuniGate Pro, MDaemon (с поддержкой русского языка), а также отечественные разработки, такие как «Почта VK» и «СберПочта».

Проблемы и ограничения

Открытые релеи

Сервер, настроенный как открытый релей (принимающий письма от любых отправителей для любых получателей), является уязвимостью. Такие серверы используются для рассылки спама. В России с 2010-х годов провайдеры блокируют порт 25 для клиентских подключений (чтобы предотвратить открытые релеи), а почтовые серверы обязаны проверять аутентификацию.

Ограничения размера

Большинство серверов ограничивают размер письма (обычно 10–25 МБ). В России популярные сервисы (Яндекс, Mail.ru) допускают до 25–50 МБ, но для корпоративных систем могут быть установлены меньшие лимиты.

Задержки

При использовании greylisting или проверки DNSBL письмо может задерживаться на несколько минут. В России это особенно заметно при приёме писем от зарубежных серверов, которые могут быть в чёрных списках из-за массовых рассылок.

Сравнение с другими протоколами

ПротоколПортНазначениеАутентификация
SMTP (Receive)25Приём от других серверовНе требуется (но проверяется SPF/DKIM)
SMTP (Submission)587Отправка от клиентаТребуется (LOGIN, PLAIN, CRAM-MD5)
SMTPS465Отправка с шифрованиемТребуется (SSL/TLS)
ESMTP25Расширенный SMTPОпционально (STARTTLS)

Будущее SMTP Receive

С развитием технологий (например, протокола DMARC и BIMI) SMTP Receive продолжает эволюционировать. В России обсуждается внедрение обязательного шифрования для всех почтовых серверов (в рамках поправок к закону «О связи»), что может изменить конфигурацию SMTP Receive. Также растёт популярность протокола MTA-STS (SMTP MTA Strict Transport Security), который позволяет серверам объявлять поддержку обязательного TLS.

Источники

  1. RFC 5321 — Simple Mail Transfer Protocol (2008).
  2. RFC 5322 — Internet Message Format (2008).
  3. RFC 7208 — Sender Policy Framework (SPF) (2014).
  4. RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures (2011).
  5. RFC 7489 — Domain-based Message Authentication, Reporting & Conformance (DMARC) (2015).
  6. Материалы конференции «Администрирование почтовых систем» (Москва, 2022).
  7. Документация Postfix (версия 3.8, 2023).
  8. Федеральный закон «О связи» от 07.07.2003 № 126-ФЗ (с изменениями на 2024 год).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →