Полезное

RFC 2821

Описание стандартов работы SMTP

Что такое RFC 2821

RFC 2821 — это базовый стандарт, описывающий работу протокола SMTP (Simple Mail Transfer Protocol), на котором построена передача электронной почты.

Понимание RFC 2821 — это база для работы с email: от настройки серверов до анализа доставляемости и работы с рассылками. Он описывает фундаментальные принципы:

  • как серверы обмениваются письмами;
  • как устроена SMTP-сессия;
  • как обрабатываются ошибки;
  • как происходит маршрутизация.

Документ был опубликован в 2001 году и систематизировал более ранние версии SMTP, уточнив правила взаимодействия почтовых серверов.

Позже он был обновлен RFC 5321, но RFC 2821 остается удобным и понятным описанием того, как именно устроена доставка писем.

Как устроена передача письма

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

Важная особенность — строгий порядок действий. Если нарушить последовательность, сервер вернет ошибку и не примет письмо. Это позволяет избежать некорректных отправок и делает поведение системы предсказуемым.

После передачи данных сервер либо подтверждает успешную доставку на следующем этапе, либо сообщает об ошибке.

Envelope и содержимое письма

RFC 2821 вводит важное разделение, без которого сложно понимать email: письмо состоит из технического «конверта» и содержимого.

Конверт — это служебные данные, которые используются при доставке: кто отправитель и кто получатель. Они передаются через SMTP-команды и не обязательно совпадают с тем, что видит пользователь.

Содержимое — это уже само письмо: заголовки (From, To, Subject и др.) и тело. Именно с этой частью работают почтовые клиенты.

Это различие критично, например, при анализе доставки или поиске причин ошибок.
Подробнее про структуру заголовков можно прочитать здесь.

Как SMTP обрабатывает ошибки

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

Если письмо не может быть доставлено, сервер формирует уведомление отправителю. Такие уведомления называются bounce и позволяют понять, почему письмо не дошло: из-за несуществующего адреса, временной ошибки сервера или других причин.

Это важный элемент инфраструктуры рассылок и аналитики доставки.
Подробнее про ошибки и их виды читайте в базе знаний по bounce.

Роль DNS и промежуточных серверов

SMTP тесно связан с DNS. Когда серверу нужно доставить письмо, он определяет, куда его отправить, с помощью MX-записей домена получателя.

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

Такая многошаговая маршрутизация позволяет системе работать даже при частичных сбоях и обеспечивает гибкость доставки.
Напишите в поддержку, если нужна помощь.
Участвует в разработке продукта SaM oTPravil. Поможет со сложными интеграциями и реализует запросы на доработку. Ответит на вопросы по SMTP и найдёт наилучшее решение
Влад Точоный
Менеджер SaM oTPravil