Структура почтового сообщения. Технические RFC заголовки email

Согласно стандартам обмена электронными сообщениями, письма поддерживают некоторые заголовки, каждый из которых должен быть с новой строки. По умолчанию, в рассыльщике уже прописаны необходимые из них: MIME-Version, Content-Type, From, Reply-To, Subject, To . Записанные в поле заголовков новые RFC email , будут добавлены к имеющимся вшеуказанным.

Учтите, что все почтовые агенты воспринимают эти стандарты по разному. Хоть и указаны в официальных протоколах, они могут быть ингорированы или неверно интерпретированы, по этому перед email рассылкой их стоит тестировать.

Популярные RFC заголовки письма

* - означает например. Cc: (Carbon Copy) * Cc: [email protected]
Этот заголовок является расширением поля "To:", он указывает дополнительных получателей письма. Различий между "To:" и "Cc:" в сущности нет, если не считать, что некоторые почтовые программы рассматривают их по-разному, генерируя ответ на сообщение.
Bcc: (Blind Carbon Copy) * Bcc: [email protected]
Если вы видите этот заголовок в полученном сообщении - значит, что-то не так. Этот заголовок используется так же, как и "Cc:" (см. ниже), но не появляется в списке заголовков. Основная идея этого заголовка заключается в возможности посылать копии письма людям, которые не хотят получать ответы или появляться в заголовках. Слепые копии очень популярны среди спаммеров, поскольку многие неопытные пользователи оказываются сбитыми с толку, получив письмо, которое вроде бы не было им адресовано.
List-Unsubscribe: * List-Unsubscribe: или List-Unsubscribe:
По описанному функционалу, поле должно автоматически отписывать пользователя, если он нажал на кнопку "СПАМ", но зачастую под это поле выводится отдельная кнопака "Отписаться". Заголовок воспринимается не всеми почтовыми программами, т.к. это отличная возможнотсь проверить email адреса на используемость.
Priority: (X-MSMail-Priority: Importance:) * Priority: 1
Заголовок, устанавливающий приоритет сообщения. Иногда указывается, как X-Priority:, X-MSMail-Priority:, Importance:, принимает значения "Higt", "Normal", "Urgent", "Non-urgent" или дляX-Priority "1", "3", "5". Большинство программ его игнорируют. Часто используется спаммерами с целью привлечения внимания к сообщению установив 1.
Comments: * Comments: Люблю книги
Этот заголовок не является стандартным, может содержать любую информацию. Подобные заголовки добавляются некоторыми почтовыми программами (в частности, популярной программой Pegasus) для идентификации отправителя, но часто прописывается и вручную спаммерами, так что относиться к нему следует с осторожностью.
Organization: * Organization: ОАО Костоправ
Абсолютно свободный заголовок, обычно содержащий название организации, через которую отправитель сообщения получает доступ к сети. Отправитель, как правило, контролирует этот заголовок, поэтому там вполне может быть что-то вроде "Королевское Сообщество Постановки Одного Над Другим".
Precedence: * Precedence: bulk
Значения: "bulk", "junk", "list". Указывает принадлежность письма к массовой рассылке. Синонимы X-List:*, X-Mirror:*, X-Auto:*, X-Mailing-List:*.
List-Owner: * List-Owner:
Email адрес организатора массовой рассылки.
X-Mailer: * X-Mailer: ePochta Mailer Disposition-Notification-To: * Disposition-Notification-To: [email protected]
На указанные реквизиты будет отправлено уведомление о прочтении. Зачастую игнорируется почтовиками, в целях борьбы со спамом. Синонимы: X-Confirm-Reading-To:, Return-Receipt-To:
X-*** * X-List:, X-Mailer:, X-...
Как глосят стандарты RFC, заголовки начинающиеся на X - это собственные заголовки отдельных почтовых программ, носящие информативный характер. Но некоторые принимаются повсеместно, например X-Mailer. Ничего, кроме дополнительной информации в коде письма...

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

Технические заголовки

Согласно стандартам обмена электронными сообщениями, письма поддерживают некоторые заголовки, каждый из которых должен быть с новой строки. По умолчанию уже прописаны необходимые из них: MIME-Version, Content-Type, From, Reply-To, Subject, To. Записанные в поле заголовков новые, будут добавлены к имеющимся вшеуказанным.

Все почтовые агенты воспринимают эти стандарты по разному. Хотя эти заголовки email и указаны в официальных протоколах RFC, они могут быть ингорированы или неверно интерпретированы, по этому перед email рассылкой их стоит тестировать на себе.

Популярные RFC заголовки письма

Cc: (Carbon Copy) * Cc: [email protected]
Этот заголовок является расширением поля "To:", он указывает дополнительных получателей письма. Различий между "To:" и "Cc:" в сущности нет, если не считать, что некоторые почтовые программы рассматривают их по-разному, генерируя ответ на сообщение.
Bcc: (Blind Carbon Copy) * Bcc: [email protected]
Если вы видите этот заголовок в полученном сообщении - значит, что-то не так. Этот заголовок используется так же, как и "Cc:" (см. ниже), но не появляется в списке заголовков. Основная идея этого заголовка заключается в возможности посылать копии письма людям, которые не хотят получать ответы или появляться в заголовках. Слепые копии очень популярны среди спаммеров, поскольку многие неопытные пользователи оказываются сбитыми с толку, получив письмо, которое вроде бы не было им адресовано.
Comments: * Comments: Люблю книги
Этот заголовок не является стандартным, может содержать любую информацию. Подобные заголовки добавляются некоторыми почтовыми программами (в частности, популярной программой Pegasus) для идентификации отправителя, но часто прописывается и вручную спаммерами, так что относиться к нему следует с осторожностью.
Organization: * Organization: ОАО Костоправ
Абсолютно свободный заголовок, обычно содержащий название организации, через которую отправитель сообщения получает доступ к сети. Отправитель, как правило, контролирует этот заголовок, поэтому там вполне может быть что-то вроде "Королевское Сообщество Постановки Одного Над Другим".
Priority: (X-MSMail-Priority: Importance:) * Priority: 1
Заголовок, устанавливающий приоритет сообщения. Иногда указывается, как X-Priority:, X-MSMail-Priority:, Importance:, принимает значения "Higt", "Normal", "Urgent", "Non-urgent" или дляX-Priority "1", "3", "5". Большинство программ его игнорируют. Часто используется спаммерами с целью привлечения внимания к сообщению установив 1.
Precedence: * Precedence: bulk
Значения: "bulk", "junk", "list". Указывает принадлежность письма к массовой рассылке. Синонимы X-List:*, X-Mirror:*, X-Auto:*, X-Mailing-List:*.
List-Owner: * List-Owner:
Email адрес организатора массовой рассылки.
X-Mailer: * X-Mailer: ePochta Mailer Disposition-Notification-To: * Disposition-Notification-To: [email protected]
На указанные реквизиты будет отправлено уведомление о прочтении. Зачастую игнорируется почтовиками, в целях борьбы со спамом. Синонимы: X-Confirm-Reading-To:, Return-Receipt-To:
List-Unsubscribe: * List-Unsubscribe: или List-Unsubscribe:
По описанному функционалу, поле должно автоматически отписывать пользователя, если он нажал на кнопку "СПАМ", но зачастую под это поле выводится отдельная кнопака "Отписаться". Заголовок воспринимается не всеми почтовыми программами, т.к. это отличная возможнотсь проверить email адреса на используемость.
X-*** * X-List:, X-Mailer:, X-...
Как глосят стандарты RFC, заголовки начинающиеся на X - это собственные заголовки отдельных почтовых программ, носящие информативный характер. Но некоторые принимаются повсеместно, например X-Mailer. Ничего, кроме дополнительной информации в коде письма...

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

Заголовок сообщения электронной почты Интернета предоставляет список технические сведения о сообщении, например, кто отправил оно создано и какие серверы электронной почты, которые его прохождения через на пути к получателю программное обеспечение. В большинстве случаев, только администратор необходимо просмотреть заголовки Интернета для сообщения. Если вы хотите добавить заголовок в сообщение электронной почты, ознакомьтесь со статьей применения темы, цвет фона или бланка для сообщений электронной почты.

Просмотр заголовков сообщений Интернета

В Outlook для Office 365, 2016, 2013 или 2010 на Компьютере

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

    Выберите файл > свойства.

    Сведения заголовка будут отображены в поле Заголовки Интернета .
    Совет : выделять сведения в это поле, нажмите клавиши Ctrl + C , чтобы скопировать и вставьте в Блокнот или Word, чтобы увидеть весь верхний одновременно.

Содержимое заголовков сообщений электронной почты

Рассмотрим переписку по электронной почте между двумя пользователями: Сергеем Зайцевым и Ольгой Зуевой. Адрес электронной почты Сергея - [email protected] , адрес Ольги - [email protected] . Ольга использует Microsoft Office Outlook 2007. Заголовок Интернета из письма Ольги Сергею выглядит следующим образом:

Microsoft Mail Internet Headers Version 2.0Received: from mail.litwareinc.com () by mail.proseware.com with Microsoft SMTPSVC(6.0.3790.0);Wed, 12 Dec 2007 13:39:22 -0800Received: from mail ( RDNS failed) by mail.litware.com with Microsoft SMTPSVC(6.0.3790.0);Wed, 12 Dec 2007 13:38:49 -0800From: "Kelly J. Weadock" To: Cc: Subject: Review of staff assignmentsDate: Wed, 12 Dec 2007 13:38:31 -0800MIME-Version: 1.0Content-Type: multipart/mixed;X-Mailer: Microsoft Office Outlook, Build 12.0.4210X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165Thread-Index: AcON3CInEwkfLOQsQGeK8VCv3M+ipA==Return-Path: [email protected]: X-OriginalArrivalTime: 12 Dec 2007 21:38:50.0145 (UTC)

Когда Ольга отправляет сообщение на адрес [email protected] , она создает его на своем компьютере, который определяется как (i101-177.nv.litwareinc.com ). Текст сообщения передается с ее компьютера на сервер электронной почты mail.litwareinc.com. Больше Ольга не увидит своего сообщения - дальнейшая обработка выполняется почтовым серверами без ее участия. Когда почтовый сервер Ольги получит сообщение, отправленное на адрес [email protected] , он свяжется с почтовым сервером компании Proseware и доставит на него сообщение. Оно будет храниться на сервере proseware.com до тех пор, пока Сергей не проверит свою рабочую почту.

Интерпретация заголовки сообщений электронной почты

Ниже приведено описание стандартных полей заголовков сообщений электронной почты.

Microsoft Mail Internet Headers Version 2.0

Этот заголовок добавляется Outlook.

Received: from mail.litwareinc.com () by mail.proseware.com with Microsoft SMTPSVC(6.0.3790.0); Tue, 12 Dec 2017 13:39:22 -0800

Эта информация указано, что произошло передачи сообщения на вторник, 12 декабря 2017 г., в 13:39:22 (1: США) стандартному тихоокеанскому времени (это на 8 часов позже, чем по Гринвичу (по Гринвичу); таким образом «– 0800»).

Received: from mail ( RDNS failed) by mail.litware.com with Microsoft SMTPSVC(6.0.3790.0); Tue, 12 Dec 2017 13:38:49 -0800

Эта передача произошла в Вторник, 12 декабря 2017 г., в 13:38:49 (1: по) стандартному тихоокеанскому времени (это на 8 часов позже чем время по Гринвичу (UTC); таким образом «– 0800»).

From: "Kelly J. Weadock"

Сообщение отправила Ольга Зуева с адреса электронной почты [email protected] .

To:

Получатель сообщения.

Cc:

Получатели копий сообщения.

Примечание: Получатели скрытых копий (СК) в заголовке не указываются.

Subject: Review of staff assignments

Тема сообщения электронной почты.

Дата и время отправки сообщения электронной почты по часам компьютера отправителя.

MIME-Version: 1.0

Версия протокола MIME, использованная отправителем.

Content-Type: multipart/mixed;

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

X-Mailer: Microsoft Office Outlook, Build 12.0.4210

Сообщение отправлено с использованием Microsoft Office Outlook, версия сборки 12.0.4210.

X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165

Почтовая программа (программное обеспечение MIME OLE), использованная отправителем.

Thread-Index: AcON3CInEwkfLOQsQGeK8VCv3M+ipA==

Этот заголовок используется для объединения нескольких сообщений в один поток. Например, в Microsoft Outlook эти сведения могут быть использованы в представлении беседы для поиска сообщений в рамках одного потока разговора.

Return-Path: [email protected]

Адрес отправителя сообщения.

Message-ID:

Номер, присвоенный сообщению сервером mail.litware.com в целях идентификации. Этот идентификатор всегда будет сопровождать сообщение.

Метка времени, которая добавляется в сообщение при его первом прохождении через сервер Microsoft Exchange.

Сообщение электронной почты обычно состоит из двух частей:

    заголовка (header), содержащего служебную информацию, управляющую доставкой и обработкой сообщения;

    тела (body), содержащего непосредственно пользовательское сообщение: текст и прикрепленные данные (графические, звуковые файлы и т.п.).

Заголовок сообщения

Почтовое сообщение – это простой текст в формате ASCII. Поэтому заголовок сообщения представляет собой последовательность текстовых строк вида:

Стандартом почтовых сообщений предусмотрено большое количество полей. Часть из них являются обязательными, т.е. без них невозможно осуществить правильную доставку сообщений, а часть - необязательными. Ниже перечислены наиболее часто используемые поля.

Message-ID – уникальный идентификатор сообщения. Уникальность значения этого поля гарантируется программным обеспечением узла-отправителя, поэтому оно генерируется автоматически.

Date – поле "Дата". Содержит дату отправки сообщения. Значение поля устанавливается автоматически почтовым клиентом при отправке сообщения.

From – поле "От". Содержит адрес, который отправитель сообщения указывает в качестве исходящего адреса.

Sender – поле "Отправитель". Содержит адрес, с которого было реально отправлено сообщение. Это поле может отсутствовать в заголовке, если поле "From" содержит адрес реального отправителя.

To – поле "Кому". Содержит адрес основного получателя сообщения.

Cc – поле "Копия". Содержит адреса дополнительных получателей сообщения.

Bcc – поле "Скрытая копия". Содержит адреса дополнительных получателей сообщения. Получатели, перечисленные в полях "To" и "Cc", не будут знать, что абоненты из списка "Bcc" получили копию сообщения.

Reply-to – поле "Ответить". Содержит адрес, по которому получатель должен направлять ответ. Это поле является необязательным: в случае его отсутствия ответы направляются по адресу, указанному в поле "From".

Subject – поле "Тема сообщения". В этом поле обычно указывается краткое описание (тема) сообщения.

Тело сообщения

Изначально предполагалось, что почтовые сообщения могут содержать только текст в формате ASCII. А поскольку возможность передачи нетекстовой информации не предусматривалась, то протоколы передачи электронной почты могут некорректно обрабатывать такие сообщения. В связи с этим в свое время был разработан специальный стандарт, определяющий принципы преобразования нетекстовых данных к текстовому виду. Этот стандарт получил название MIME (Multipurpose Internet Mail Extension, многоцелевое расширение почты Интернет).

MIME предполагает, что в теле сообщения могут передаваться следующие виды информации:

    текст – простой текст в формате ASCII, а также текст в формате RTF или HTML;

    графические изображения – файлы в формате JPEG и GIF;

    аудио и видео данные;

    данные в форматах различных приложений, например, документы Microsoft Office, а также данные произвольного формата (в том числе, различные исполняемые файлы).

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

Это широко используется при отправке сообщений с вложениями (attachments) – дополнительными "прикрепленными" файлами, которые могут содержать разнородную информацию. Например, к текстовому сообщению можно прикрепить графический файл c фотографией отправителя.

Кроме того, это может оказаться полезным, когда текст сообщения необходимо передать в разных форматах. Например, отправленное сообщение в формате HTML, содержащее какое-либо оформление, может некорректно восприниматься клиентской программой получателя. Чтобы избежать подобных проблем почтовый клиент отправителя может сформировать альтернативное представление сообщения в виде простого текста.

Для обеспечения корректной передачи сообщений c нетекстовыми данными в MIME предусмотрены два алгоритма перекодировки, осуществляющие преобразование таких данных к тестовому виду:

    алгоритм "Quoted-printable", предназначенный для замены байтов, не являющихся ASCII-символами, на группу из трех байт, представляющих собой только стандартные символы;

    алгоритм "Base64", осуществляющий преобразование трех произвольных байт в четыре ASCII-символа.

Для обеспечения корректной интерпретации данных стандартом MIME в заголовок сообщения вводятся дополнительные специальные поля.

Content-type – поле "Тип содержимого". Отвечает за корректное определение типа данных, содержащихся в сообщении заголовка сообщения. Значение поля указывает на конкретный тип данных, или информирует о том, что тело содержит несколько разнотипных блоков.

Content-Transfer-Encoding – поле "Тип кодирования содержимого". Определяет способ преобразования (перекодировки) исходных данных в текстовый вид.

Представим ситуацию, когда и верстальщики отлично поработали, и подписчики согласие дали, а письма неумолимо продолжают попадать в спам, снижая репутацию домена. Одной из причин высоких показателей Spam Complain Rate (SCR) - неправильные настройки в служебных заголовках или же их полное отсутствие.

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

Что такое служебные заголовки и зачем их настраивать

Протоколы, реализующие отправку и приём электронных писем, появились еще в 80-е. В те благословенные и слегка наивные времена всемирная сеть была мала и фактически не знала мошенничества и обмана, поэтому проверки и защита в почтовых протоколах почти отсутствовали.

Если вы небольшой рассыльщик, например, частное лицо или организация, и отправляете по несколько сотен писем за раз с собственного сайта, то настраивать технические заголовки вам не потребуется.

В случае использования платформ-рассыльщиков ситуация усложняется. Отправителем выступает ваш домен, например, site.ru, но рассылка ведётся с адреса mail.sendsay.ru, что вызовет у принимающего почтового сервера справедливые подозрения.

Sender Policy Framework

Чтобы снять подозрения почтовиков используется специальный механизм - SPF (Sender Policy Framework или инфраструктура политики отправителя). С его помощью сайт (всё тот же, site.ru) говорит принимающей стороне, что рассыльщик (sendsay.ru) действительно имеет права на отправку ваших писем.

Важно, что SPF работает только с заголовком письма и специальным обратным адресом (smtp.mailfrom), но не с тем адресом From, который видит человек. Так что мошенничество с подменой From никак не повлияет на проверку SPF.

Выходит, этот механизм не является действительно надёжной защитой: чаще всего провал SPF-проверки не является поводом отвергнуть письмо. Главная его задача - подтверждение отправителя, что важно для репутации домена в глазах почтовых платформ. Чем выше рейтинг домена, тем ниже шансы, что ваши письма будут признаны спамом. Если компания использует для рассылок несколько доменных имён (допустим, .ru и.com), то настраивать служебные заголовки придётся для каждого доменного имени отдельно. Проще всего выделить для рассылок специальное доменное имя (например, mail.stie.ru) и настроить SPF-запись под него.

При желании для рассылок можно воспользоваться и доменом sendsay.ru, но это имеет ряд побочных эффектов. В частности, использование стороннего отправителя явно отображается в веб-интерфейсе gmail.com: рядом с адресом отправителя появляется надпись о рассыльщике:

Не смертельно, но неприятно. В настройке SPF-записи поможет сетевой SPF-мастер .

Domain Keys Identified Mail

Следующим бастионом на пути проверки писем является цифровая подпись DKIM (Domain Keys Identified Mail - идентификация письма по ключу домена). DKIM - это специальная криптографическая подпись, которая позволяет надёжно идентифицировать вас как легитимного отправителя. Идеологически DKIM подобна водяным знакам на банкнотах.

Метод строится на паре ключей шифрования: открытом и закрытом. Закрытым ключом сообщение подписывается перед отправкой. Открытый ключ публикуется на DNS-сервере отправителя в TXT-записи.

При получении письма, принимающий сервер читает открытый ключ и автоматически проверяет, действительно ли email подписано правильным ключом. Таким образом, криптографическая подпись позволяет не только идентифицировать отправителя, но и гарантировать, что подписанное сообщение не было искажено в пути.

Провал проверки DKIM обычно не является катастрофой: подобные письма доберутся до получателя, пусть и с пометкой «возможно мошенничество, мы не можем проверить подлинность отправителя» . Самое неприятное последствие проваленной DKIM-проверки - ущерб для репутации отправителя.

В рамках платформы Sendsay для подписывания сообщений используются только ключи, сгенерированные системой.

Если же вы настраиваете самостоятельную рассылку, то создание цифровых подписей лежит на вас. Для упрощения настройки DKIM удобно воспользоваться онлайн-визардом .

Domain-based Message Authentication, Reporting and Conformance

Domain-based Message Authentication, Reporting and Conformance (DMARC) - идентификация сообщений, создание отчётов и определение соответствия по доменному имени. DMARC - политика проверки сообщений, предназначенная для снижения числа нежелательных писем.

Возникшая всего пару лет назад (в марте 2015 года), DMARC строится на уже описанных SPF и DKIM, но имеет существенное отличие. Если базовые механизмы лишь говорят получающему почтовому серверу прошло ли письмо проверки, то DMARC объявляет как с такими сообщениями следует поступать.

Можно включить строгую политику и запретить доставку подобных писем, хотя не все почтовые сервисы следуют этим инструкциям буквально. В частности, почта Яндекса всё равно доставит письма, пусть и с пометкой, что это «возможно мошенничество». Есть у DMARC и возможность пропустить все письма без исключения, тогда проваленные проверки будут отражаться только в отчётах. Это бывает полезно при отладке технических заголовков.

В настройке DMARC-записей также поможет специальный сервис .

Для проверки правильности технических заголовков воспользуйтесь универсальным сервисом supertool . Он не только выявляет проблемы, но и формирует рекомендации по исправлению.

Итог

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