Электронное письмо выглядит как мгновенное сообщение, но на самом деле проходит через десяток серверов и несколько протоколов, прежде чем попасть во входящие получателя. Эта статья разбирает путь письма по шагам: от нажатия «Отправить» до появления в почтовом клиенте, и объясняет, какую роль играют почтовый домен, MX-записи и проверки подлинности. Понимание этой цепочки помогает быстрее находить причину, когда письмо не доходит или попадает в спам.
Путь письма от отправителя до получателя
Когда вы отправляете письмо, почтовый клиент не передаёт его напрямую адресату. Сообщение проходит через цепочку серверов, каждый из которых отвечает за свой участок маршрута, и на каждом шаге есть своя точка, где доставка может задержаться или прерваться.
- Почтовый клиент передаёт письмо на исходящий сервер отправителя (MTA).
- Исходящий сервер запрашивает у DNS почтового домена получателя MX-запись.
- Письмо передаётся по протоколу SMTP на сервер получателя, указанный в MX-записи.
- Сервер получателя проверяет подлинность и кладёт письмо в почтовый ящик адресата.
Почтовый домен и MX-записи
Почтовый домен — это часть адреса после символа «@»: для адреса info@example.com почтовым доменом является example.com. У каждого почтового домена в DNS-зоне есть одна или несколько MX-записей — они указывают, какой сервер принимает почту для этого домена, и в каком порядке серверы пробуются при недоступности основного. Без MX-записи домен может принимать веб-трафик, но почта к нему доходить не будет. Подробный порядок настройки описан в статье как настроить MX-записи для почты.
SMTP-протокол: передача между серверами
Передача письма между серверами происходит по протоколу SMTP (Simple Mail Transfer Protocol). Сервер-отправитель открывает соединение с сервером-получателем и обменивается с ним командами открытым текстом: кто отправитель, кто получатель, и, наконец, само содержимое письма.
HELO mail.example.com
MAIL FROM: sender@example.com
RCPT TO: recipient@example.org
DATA
Subject: Тема письма
Текст письма.
.
QUIT
Для приёма почты сервер слушает порт 25, для отправки с проверкой подлинности клиенты чаще используют порт 587 с шифрованием STARTTLS. Настройка собственного сервера на базе Postfix описана в статье настройка Postfix для SMTP.
Проверки подлинности: SPF, DKIM, DMARC и PTR
Перед тем как положить письмо в ящик, принимающий сервер проверяет, не подделан ли отправитель, и эта проверка сегодня важнее фильтра по ключевым словам в теме письма. SPF-запись в DNS перечисляет серверы, которым разрешено отправлять почту от имени домена. DKIM добавляет к письму цифровую подпись, которую можно проверить публичным ключом из DNS. DMARC объясняет, что делать с письмом, если проверки SPF или DKIM не прошли. Отдельно проверяется обратная DNS-запись (PTR) IP-адреса отправляющего сервера — она должна совпадать с именем сервера, иначе многие почтовые службы считают письмо подозрительным. Порядок настройки обратной зоны — в статье настройка обратной записи PTR.
Сравнение этапов доставки письма
| Этап | Что происходит | Технология |
|---|---|---|
| Отправка | Клиент передаёт письмо исходящему серверу | SMTP, порт 587 |
| Поиск маршрута | Сервер запрашивает MX-запись домена получателя | DNS, запись MX |
| Передача между серверами | Письмо переходит на сервер получателя | SMTP, порт 25 |
| Проверка подлинности | Сверяются SPF, DKIM, DMARC и PTR | DNS-записи |
Что делать, если письма не доходят
- Проверьте, что MX-запись домена указывает на действующий почтовый сервер.
- Убедитесь, что в DNS есть корректная SPF-запись с вашим сервером отправки.
- Проверьте, подписываются ли исходящие письма DKIM-ключом.
- Посмотрите, совпадает ли обратная запись PTR IP-адреса сервера с его именем.
- Проверьте очередь на исходящем сервере — письмо может застрять из-за временной ошибки получателя.
Частые вопросы
Почему письмо доходит с задержкой в несколько минут?
Между серверами письмо может временно задерживаться в очереди, если принимающий сервер недоступен или отвечает медленно: отправитель делает повторные попытки по расписанию, и задержка в несколько минут — обычное поведение, а не ошибка.
Можно ли принимать почту без собственного почтового сервера?
Да, MX-запись домена можно направить на внешний почтовый сервис, и тогда всю обработку писем возьмёт на себя сторонняя платформа, а домен останется вашим.
Чем отличается SPF от DKIM?
SPF проверяет, с какого IP-адреса пришло письмо, сверяя его со списком разрешённых серверов, а DKIM проверяет, что содержимое письма не изменилось в пути, с помощью цифровой подписи.