Как прочитать заголовки письма: откуда пришло, настоящий ли отправитель и почему письмо в спаме
Чтобы прочитать заголовки письма, откройте его исходный текст (в Gmail: меню ⋮ → «Показать оригинал»), найдите строки Received и читайте их снизу вверх — это путь письма по серверам. Затем посмотрите заголовок Authentication-Results: в нём ваш почтовый сервер записал, прошли ли SPF, DKIM и DMARC. Этих двух блоков хватает, чтобы ответить на три обычных вопроса: откуда на самом деле пришло письмо, настоящий ли отправитель и почему письмо попало в спам.
Что такое заголовки письма и какие из них важны
Письмо состоит из заголовков и тела. Заголовки — это строки вида Имя: значение. Часть из них пишет почтовая программа отправителя (From, Subject, Date), часть добавляет каждый сервер по пути (Received) и сервер получателя (Return-Path, Authentication-Results). Почтовый клиент показывает только несколько полей, а полный список — это десятки строк, большинство которых для разбора не нужны. Знать стоит эти:
| Заголовок | Кто добавляет | Что из него узнать |
|---|---|---|
From | Программа отправителя | Адрес, который вы видите. Сам по себе подделывается легко — для этого и придуман DMARC. |
Reply-To | Программа отправителя | Куда уйдёт ваш ответ. Другой домен, чем в From, — норма для поддержки и рассылок, но повод насторожиться в неожиданной просьбе. |
Return-Path | Конечный сервер-получатель | Конвертный отправитель (адрес для возвратов). SPF проверяется по этому домену, а не по From. |
Message-ID | Программа или сервер отправителя | Уникальный номер письма. Домен в нём часто подсказывает, какая система создала письмо. |
Received | Каждый сервер по пути | Одна строка на хоп: кто кому передал письмо, с какого IP, когда, с шифрованием или без. |
Authentication-Results | Сервер-получатель | Результаты SPF, DKIM и DMARC на момент доставки. |
Received-SPF | Некоторые серверы-получатели | Отдельная строка с результатом SPF и проверенным IP. |
DKIM-Signature | Подписывающий сервер | Подпись: d= — домен подписи, s= — селектор, h= — список подписанных заголовков. |
ARC-Seal, ARC-Message-Signature, ARC-Authentication-Results | Посредники (пересылка, списки рассылки) | Какие проверки посредник видел до пересылки; cv= в ARC-Seal показывает, цела ли цепочка. |
Заголовки X-… | Спам-фильтры, почтовые системы | Свои у каждого: например, X-Spam-Status и X-Spam-Score у SpamAssassin, X-MS-Exchange-Organization-SCL или X-Forefront-Antispam-Report у Microsoft 365. |
Как посмотреть заголовки письма в Gmail, Outlook, Apple Mail и других
- Gmail в браузере: откройте письмо → ⋮ → «Показать оригинал». Вверху будет короткая сводка (вердикты SPF, DKIM и DMARC), ниже — сами заголовки. «Скачать оригинал» сохранит файл .eml.
- Outlook для Windows: откройте письмо в отдельном окне → «Файл» → «Свойства» → «Заголовки Интернета».
- Outlook в браузере и новый Outlook: меню «…» у письма → «Просмотр» → «Просмотреть сведения о сообщении».
- Apple Mail: «Вид» → «Сообщение» → «Все заголовки» или «Исходный текст».
- Thunderbird: Ctrl+U (⌘U на Mac) — исходный текст письма.
- Яндекс Почта, Mail.ru, Yahoo: ищите в меню письма пункт со словами «свойства письма», «служебные заголовки» или «исходное сообщение».
Названия пунктов меняются от версии к версии: если путь не совпал, поищите в справке клиента «исходный текст письма» или «заголовки Интернета». Два практических момента: мобильные приложения обычно не показывают полные заголовки — откройте письмо на компьютере; а копия из папки «Отправленные» для диагностики бесполезна — она ещё никуда не ездила, в ней нет строк Received со стороны получателя и результатов проверок.
Пошагово: как разобрать заголовки
- Начните с видимых адресов. Выпишите From, Reply-To (если есть) и Return-Path. Три разных домена — повод присмотреться, а не приговор.
- Найдите верхний Authentication-Results. Если их несколько, верхний добавил ваш собственный почтовый сервис — доверять стоит ему. Смотрите
spf=,dkim=иdmarc=. - Проверьте выравнивание. DMARC засчитывает SPF или DKIM, только если их домен совпадает с доменом в From (подробно ниже).
- Прочитайте Received снизу вверх. Нижняя строка — самый ранний хоп, верхняя — ваш ящик.
- Найдите первый публичный IP, от которого надёжная часть цепочки приняла письмо, — это лучший доступный «IP отправителя».
- Посмотрите заголовки спам-фильтров: как и кем письмо оценено.
Как читать цепочку Received снизу вверх
Каждый сервер дописывает свою строку Received поверх уже существующих, поэтому порядок обратный. Упрощённая цепочка может выглядеть так:
Received: by 2002:a05:6000:1a8b with SMTP id …;
Tue, 13 Oct 2026 09:14:07 -0700 (PDT)
Received: from mail.shop.example (mail.shop.example. [203.0.113.40])
by mx.google.com with ESMTPS id …
for <[email protected]>; Tue, 13 Oct 2026 09:14:05 -0700 (PDT)
Received: from app-07.internal (unknown [10.0.4.17])
by mail.shop.example (Postfix) with ESMTP id 4F2A1;
Tue, 13 Oct 2026 16:13:58 +0000 (UTC)
Нижняя строка: внутренняя машина с частным IP (10.0.4.17) передала письмо почтовому серверу магазина. Средняя: MX-сервер Google принял его с адреса 203.0.113.40 по TLS (ESMTPS). Верхняя: внутренняя доставка в ящик. В каждой строке from — как назвался отправляющий узел, в скобках — что на самом деле увидел принимающий сервер (имя по обратному DNS и IP), by — принимающий сервер. IP в квадратных скобках записал получатель, поэтому ему можно доверять больше, чем имени после from.
Главное правило: надёжны только строки, которые добавили серверы, которым вы доверяете. Любой может вписать в письмо поддельные Received ещё до отправки. Идите сверху вниз, пока серверы принадлежат вашему почтовому сервису; хоп, на котором ваш сервис принял письмо, — граница надёжной части.
Задержки между хопами
Сравнивайте время соседних хопов, приведя его к одному часовому поясу (в примере смещения разные: −0700 и +0000). Секунды на хоп — норма. Минуты и часы обычно означают грейлистинг (получатель попросил повторить попытку позже), очередь у отправителя, проверку содержимого или повтор после временной ошибки. Отрицательная задержка не значит, что письмо пришло «из будущего», — просто часы двух серверов расходятся.
Как узнать реальный IP отправителя
«IP отправителя» — это первый публичный адрес в надёжной части цепочки Received: машина, от которой ваш почтовый сервис (или его первый ретранслятор) принял письмо. Частные диапазоны 10.x.x.x, 172.16–31.x.x и 192.168.x.x — внутренние сети, о местоположении они ничего не говорят. Ограничения стоит держать в голове:
- Если человек пишет из Gmail, Outlook.com или другой веб-почты, первый публичный хоп — сервер этого сервиса. Домашнего или офисного IP человека в заголовках обычно нет совсем.
- Корпоративные серверы и некоторые провайдеры добавляют IP клиента (иногда в отдельном X-заголовке). Это может оказаться VPN, шлюз мобильного оператора или прокси офиса.
- Геолокация по IP приблизительна: она показывает, где адрес зарегистрирован или маршрутизируется, а не где сидит человек.
Найденный IP проверьте по чёрным спискам и посмотрите владельца в геолокации IP или обратном DNS. Если адрес в списках, разберитесь по статье почему IP в чёрном списке: что значат списки и как из них выйти.
Результаты SPF, DKIM и DMARC и выравнивание
Типичная строка от Gmail:
Authentication-Results: mx.google.com;
dkim=pass [email protected] header.s=s1 header.b=Ab12Cd34;
spf=pass (google.com: domain of [email protected] designates 203.0.113.40 as permitted sender) [email protected];
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=shop.example
Что здесь написано:
- spf=pass — IP, доставивший письмо, разрешён SPF-записью домена из Return-Path (
smtp.mailfrom).softfailиfail— не разрешён;permerror— сломана сама запись. - dkim=pass — подпись домена из
header.i/d=сошлась с ключом в DNS под селекторомheader.s.fail— письмо изменили по пути или ключ не тот. - dmarc=pass — хотя бы одна из проверок SPF или DKIM прошла для домена, выровненного с From. В
p=— опубликованная политика домена.
Выравнивание — главный источник путаницы. SPF проверяет домен Return-Path, DKIM — домен d=, а человек видит домен в From. DMARC связывает их: при мягком выравнивании (relaxed, по умолчанию) mail.shop.example и shop.example считаются совпадением, потому что у них общий организационный домен; при строгом (strict) домены должны совпадать полностью. Поэтому бывает spf=pass и dkim=pass рядом с dmarc=fail: обе проверки прошли, но для домена сервиса рассылок, а не для вашего.
Что домен публикует прямо сейчас, покажут проверка SPF, проверка DKIM (селектор возьмите из s= в DKIM-Signature) и проверка DMARC. Как три механизма работают вместе, описано в статье SPF, DKIM и DMARC: что это и как настроить, про селекторы — в статье DKIM: что это, запись и селектор.
Задача: почему письмо попало в спам
Попросите получателя прислать заголовки письма, которое ушло в спам (ваша копия из «Отправленных» не поможет), и пройдите по списку:
- Аутентификация. Любой
fail,softfailилиnoneу SPF, DKIM или DMARC — первое, что нужно исправить. - Выравнивание. Если DMARC не проходит при пройденных SPF и DKIM, настройте в сервисе рассылок собственный домен возвратов и подпись DKIM вашим доменом.
- IP отправки. Проверьте первый публичный IP с вашей стороны по чёрным спискам.
- Вердикты спам-фильтров. SpamAssassin перечисляет сработавшие правила в
X-Spam-Status; в Microsoft 365 значение SCL 5 и выше означает, что письмо признано спамом. - Заголовки массовой рассылки. Рассылки без рабочего заголовка
List-Unsubscribeкрупные почтовые сервисы встречают строже.
Если всё проходит и IP чистый, причина обычно в репутации или содержании — это заголовки напрямую не покажут.
Задача: настоящий ли отправитель — признаки подделки и фишинга
- Письмо якобы от банка или известного сервиса, а DMARC не пройден или результата нет.
- Reply-To ведёт на другой домен, особенно на бесплатную почту.
- В отображаемом имени написан один адрес, а настоящий другой:
"[email protected]" <[email protected]>. - Похожий домен в From или Return-Path: цифра вместо буквы, лишнее слово, другая доменная зона.
- Первый публичный IP принадлежит сети, которая никак не связана с заявленным отправителем.
- Спам-фильтр по пути уже пометил письмо.
Приватность: осторожнее, когда делитесь заголовками
В заголовках часто больше личных данных, чем в самом письме: ваш полный адрес, иногда адреса других получателей, имена внутренних серверов, IP-адреса, почтовая программа отправителя, персональные ссылки отписки и отслеживания. Прежде чем выкладывать заголовки на форум или в тикет, замените свой адрес и длинные токены в ссылках заглушками, но оставьте Received, Authentication-Results и DKIM-Signature целиком — без них никто ничего не продиагностирует. Предпочитайте инструменты, которые разбирают заголовки у вас на устройстве, а не сохраняют вставленный текст.
Частые ошибки
- Читать Received сверху вниз и принимать сервер получателя за отправителя.
- Верить всем строкам Received, включая те, что добавлены до попадания письма на надёжный сервер.
- Считать
spf=passдоказательством, что From настоящий: SPF проверяет Return-Path. - Разбирать проблему со спамом по копии из «Отправленных».
- Сравнивать время хопов без перевода в один часовой пояс.
Как разобрать заголовки в инструменте PromoPilot
Вставьте заголовки или перетащите файл .eml в анализатор заголовков письма. Он покажет хопы снизу вверх с задержками в UTC, самый долгий шаг и расхождение часов, первый публичный IP в цепочке, результаты SPF, DKIM, DMARC и ARC, которые записал получатель, выравнивание From, Return-Path и DKIM d=, заголовки спам-фильтров, заголовки отписки в один клик и признаки подделки — например, другой Reply-To или чужой адрес в отображаемом имени.
Чего инструмент не делает:
- Не перепроверяет DKIM-подписи заново: для этого нужно всё письмо и DNS на момент доставки. Он показывает то, что записал сервер-получатель, и сам сверяет домены.
- Сам ничего не запрашивает по IP и доменам: ссылки рядом с IP ведут на наши проверки чёрных списков, геолокации и обратного DNS — если захотите их запустить.
- Не читает файлы Outlook .msg (двоичный формат) — скопируйте «Заголовки Интернета» или сохраните письмо как .eml.
- Организационный домен для выравнивания определяет приближённо, без полного Public Suffix List.
Разбор идёт JavaScript-кодом в вашем браузере, заголовки на наш сервер не отправляются. Дневного лимита нет; за один раз — до 2 МБ текста (из .eml читается первый 1 МБ).