техническое · ответ с источниками
Заголовок Message-ID: что это и зачем нужен
Заголовок Message-ID — уникальный идентификатор, присваиваемый конкретному письму. Это обязательное поле стандарта RFC 5322, которое позволяет почтовым серверам и клиентам отслеживать сообщения, ссылаться на них и группировать их в переписки, не полагаясь на тему письма.
Как это работает
Message-ID генерирует отправляющий почтовый агент. Обычно он состоит из уникальной строки символов, за которой следует доменное имя отправителя, заключённое в угловые скобки. Например, 123456789@example.com. Так у каждого письма, отправленного в мире, есть собственный идентификатор, и при хранении или индексации сообщений на принимающих серверах не возникает коллизий.
Почему это важно для отправителей
Этот заголовок критически важен для группировки писем в цепочки и дедупликации. Когда пользователь отвечает на сообщение, клиент с помощью заголовков In-Reply-To и References ссылается на исходный Message-ID. Без действительного и уникального идентификатора почтовые клиенты не могут группировать сообщения в цепочки, а некоторые спам-фильтры могут счесть сообщение подозрительным из-за несоответствия интернет-стандартам.
Заметки по эксплуатации
Частая ошибка — использовать неуникальный или статический Message-ID для нескольких писем в массовой рассылке. Из-за этого принимающие серверы могут отбрасывать последующие сообщения как дубликаты. Разработчикам следует убедиться, что их почтовая библиотека генерирует криптографически стойкую случайную строку для каждой отдельной отправки. Проверить структуру заголовков на соответствие стандартам можно с помощью бесплатных инструментов SendHQ.
Конкретный пример
Типичный заголовок выглядит так: Message-ID: <CAH+zL1_XyZ123@mail.sendgrid.net>. Здесь CAH+zL1_XyZ123 — уникальный токен, а mail.sendgrid.net — домен исходной системы. Такой формат позволяет принимающему серверу точно определить, какая система сгенерировала сообщение и с каким именно экземпляром сообщения он работает.
Влияние на доставляемость
Хотя Message-ID не является основным механизмом аутентификации, как DKIM, отсутствующий или некорректный Message-ID — явный признак плохо настроенного почтового сервера. Многие корпоративные фильтры используют наличие действительного Message-ID как базовую проверку корректности. Если идентификатор отсутствует, письмо с большей вероятностью попадёт в папку «Спам», поскольку оно не соответствует спецификации RFC 5322.
Что спрашивают команды
Можно ли задать собственный Message-ID?
Да, большинство SMTP API и библиотек позволяют указать собственный Message-ID, но он должен быть глобально уникальным, чтобы не возникало проблем с дедупликацией.
Message-ID — это то же самое, что идентификатор отслеживания (Tracking ID)?
Нет. Message-ID — стандартный заголовок протокола для маршрутизации почты, а Tracking ID обычно является внутренним проприетарным идентификатором, который ESP используют для аналитики.
Что будет, если Message-ID отсутствует?
Принимающий сервер обычно сгенерирует его автоматически, но это может нарушить группировку писем в цепочки и повысить вероятность того, что письмо будет помечено как спам.
Первоисточники
- RFC 5322: формат интернет-сообщений — RFC Editor
- RFC 5321: простой протокол передачи почты (SMTP) — RFC Editor