Envelope From и Header From: почему у письма два отправителя
В каждом email-сообщении есть два адреса отправителя. Они могут совпадать, а могут быть совершенно разными. Это не ошибка и не подделка - так устроен протокол SMTP с момента его создания.
Envelope From (MAIL FROM)
Envelope From - технический адрес отправителя, указанный в SMTP-команде MAIL FROM при передаче письма между серверами:
MAIL FROM:<bounce-abc123@bounces.esp.com>
Этот адрес не виден получателю в обычном режиме (он фиксируется в заголовке Return-Path). Его задача - принимать bounce-уведомления. Если письмо не доставлено, сервер получателя отправит DSN на Envelope From.
Другие названия Envelope From: MAIL FROM, bounce address, envelope sender, Return-Path (после записи в заголовки доставленного сообщения).
Header From
Header From - адрес, который видит получатель в поле «От» в своём почтовом клиенте. Он содержится в заголовке From внутри самого сообщения:
From: "Компания" <newsletter@yourcompany.com>
Header From определяет бренд отправителя. Получатель видит именно этот адрес и по нему решает, открывать ли письмо.
Аналогия с бумажной почтой
Представьте бумажное письмо. На конверте (envelope) написан обратный адрес - туда вернут письмо, если доставка не удалась. Внутри конверта, на самом письме (header), указан отправитель - тот, кто пишет. На бумаге эти адреса тоже могут различаться: секретарь отправляет конверт от имени директора.
Почему они различаются
Несколько типичных сценариев, в которых Envelope From и Header From не совпадают:
- Рассылка через ESP. Вы отправляете от newsletter@yourcompany.com, но ESP устанавливает свой Envelope From (bounce-xyz@esp-bounces.com) для обработки bounces через свою систему.
- Пересылка (forwarding). Сервер пересылки меняет Envelope From на свой адрес, чтобы bounces от финального получателя приходили ему, а не оригинальному отправителю.
- VERP. Для определения конкретного bounce-получателя ESP генерирует уникальный Envelope From для каждого адресата в списке.
- Транзакционные письма. Приложение отправляет через relay. Header From - адрес бренда, Envelope From - технический адрес relay-сервиса.
Влияние на аутентификацию
Разница между двумя адресами критически важна для SPF, DKIM и DMARC:
- SPF проверяет домен из Envelope From. Если Envelope From = bounce@bounces.esp.com, SPF проверяет домен bounces.esp.com, а не ваш.
- DKIM проверяет подпись по домену, указанному в поле d= заголовка DKIM-Signature. Это может быть ваш домен или домен ESP.
- DMARC работает с доменом из Header From. Для прохождения DMARC нужен alignment: домен SPF (Envelope From) или DKIM (d=) должен совпадать с доменом Header From. Если оба разные - DMARC fail.
Как настроить alignment
Чтобы SPF alignment работал, нужно настроить кастомный Envelope From на поддомене вашего домена. Большинство ESP позволяют это:
Envelope From: bounce@mail.yourcompany.com
Header From: newsletter@yourcompany.com
Домены совпадают (mail.yourcompany.com является поддоменом yourcompany.com), alignment пройден. Для этого нужно создать CNAME-запись для mail.yourcompany.com, указывающую на DNS ESP, и добавить SPF include.
DKIM alignment настраивается аналогично: ESP подписывает письма ключом для вашего домена (d=yourcompany.com).
Spoofing и безопасность
Возможность указать произвольный Header From - причина существования email spoofing. Спамер может поставить Header From: ceo@bank.com, и получатель увидит это в поле «От». Именно для защиты от этого были созданы SPF, DKIM и DMARC: они позволяют принимающему серверу проверить, имел ли отправитель право использовать указанный домен.
Без настроенных записей аутентификации любой сервер может отправить письмо с вашим доменом в Header From. С DMARC reject такие письма будут отклонены принимающим сервером.
uChecker проверяет email-адреса получателей до отправки. Корректный Envelope From вашего ESP в сочетании с чистым списком адресов - основа стабильной доставляемости.
