Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

Статьи

Заголовки электронных писем

Любой e-mail в своей основе обладает одинаковым строением. Формат почтового сообщения в Сети определен в документе RFC-822 (Standard for ARPA Internet Text Message, опубликован в 1982 г.). Почтовое сообщение состоит из трех частей: конверта (envelope), заголовков (headers) и тела сообщения (body). Пользователю доступны только заголовоки (headers) и тело (body) сообщения. Конверт используется программами доставки (для передачи сообщения от сервера к серверу). RFC-822 регламентирует содержание заголовка сообщения. Заголовок всегда находится перед телом сообщения, отделен от него пустой строкой и состоит из полей (имя и содержание). Имя поля отделено от содержания символом ":".

Минимально необходимыми являются следующие поля "Date:", "From:", "Cc:" и/или "To:", например:

Date: Fri, 6 Dec 2002 23:26:50 +0300 (MSK/MSD)
From: vasya@domain.ru
To: ivan@domain.com

Date: Fri, 6 Dec 2002 23:26:50 +0300 (MSK/MSD)
From: vasya@domain.ru
Cc: ivan@domain.com

Date: Fri, 6 Dec 2002 23:26:50 +0300 (MSK/MSD)
From: vasya@domain.ru
To: ivan@domain.com
Cc: ivan@domain.net

где "Date:", "From:", "Cc:" и "To:" являются именами заголовка, а через пробел напротив каждого имени заголовка указано соответствующее содержание. Определим значение каждого указанного имени заголовка:

Date: - назначение данного заголовка очевидно: он указывает дату и время отправки письма (из примеров "Fri, 6 Dec 2002 23:26:50 +0300 (MSK/MSD)" видно, что письмо было отправлено 6 декабря 2002 года в 23:26:50 по московскому времени). Если этот заголовок не был создан на компьютере отправителя, то, возможно, его добавит почтовый сервер или какой-нибудь другой компьютер, через который пройдет письмо. Его ни в коем случае нельзя принимать за непреложную истину, и дело даже не в возможности подделки - в мире чудовищно большое количество компьютеров с неверно идущими часами;

From: - указывает адрес отправителя (в примере мы видим, что письмо было отправлено с адреса vasya@domain.ru);

To: - адрес(а) получателя(ей) (получателем в нашем примере является ivan@domain.com). Отметим, что поле "To:" не обязано содержать адрес получателя, а также может содержать адреса нескольких получателей;

Cc: (Carbon Copy) - адресация копий, этот заголовок является расширением поля "To", он указывает дополнительных получателей письма (получатель "To" видит список всех "Cc"). Различий между заголовками "To" и "Cc", в сущности, нет, если не считать, что некоторые почтовые программы рассматривают их по-разному, генерируя ответ на сообщение. В примере № 1 поля Cc нет, то есть письмо было отправлено единственному получателю ivan@domain.com. Из примера № 2 видно, что данный заголовок принадлежит адресату ivan@domain.com, которому отправлена копия письма (он не видит поле To). Пример № 3 показывает, что письмо было отправлено получателю письма ivan@domain.com, а также копия письма была отправлена на ящик ivan@domain.net.

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

Received: - "штамп" прохождения письма через почтовый сервер. Заголовки "Received:" предоставляют подробную информацию о жизни сообщения и не дадут обмануть получателя сообщения, откуда именно пришло письмо. Если, например, машина turmeric.com, IP-адрес которой 104.128.23.115, посылает сообщение машине mail.bieberdorf.edu, но пытается ее обмануть, сказав HELO galangal.org, заголовок "Received:" получится следующим: Received: from manaraga.org (turmeric.com [104.128.23.115]) by mail.bieberdorf.edu...(остаток строки опущен для ясности). Здесь подделка сразу выводится на чистую воду. Данная строка говорит: "машина turmeric.com, чей адрес 104.128.23.115, назвалась galangal.org". Мы рассмотрели лишь один пример, наглядно представляющий нужность и полезность данного заголовка письма, в связи с тем, что целью данный статьи не является подробное изучение каждого заголовка, а лишь ознакомление с наиболее часто встречающимися в обычной жизни. Тем более что о заголовке "Received:" можно написать отдельную статью.

Message-Id: - уникальный идентификатор письма, присваиваемый каждому сообщению, - чаще всего первым почтовым сервером, который встретится у него на пути, либо же почтовым клиентом. Обычно он имеет форму "abrakadabra@domain.ru, где "abrakadabra" набор произвольных символов, а вторая часть "domain.ru" - имя машины, присвоившей идентификатор. Иногда, но редко, "abrakadabra" включает в себя имя отправителя. Message-Id используется программами доставки почты во избежание "зацикливания" письма;

Bcc: (Blind Carbon Copy) - слепая/скрытая копия (получатели не подозревают о других получателях из поля "Bcc"). Скрытые копии очень популярны среди спамеров, поскольку многие неопытные пользователи оказываются сбитыми с толку, получив письмо, которое, вроде бы, не было им адресовано;

Subject: - тема письма (наличие Re: означает ответ; Fwd: - переадресацию). Почтовый стандарт допускает наличие только латинских символов (US-ASCII) в поле «Subject» поэтому, несмотря на то, что многие пользователи заполняют данное поле по-русски, этого делать не рекомендуется. Нормальная ситуация - когда написанная по-русски тема письма при отправке перекодируется почтовой программой отправителя в 7-битную base64 с указанием языковой кодировки, в которой эта тема написана (как это делают программы Pine, Pegasus Mail), а почтовая программа получателя декодирует тему письма в читаемый вид. Однако это возможность почтового стандарта MIME, который программа UUPC не поддерживает;

Reply-To: - адрес для ответов. Несмотря на то, что этот заголовок имеет множество способов цивилизованного применения, он также используется спамерами для отведения удара от себя. Может быть, какой-нибудь наивный спамер и захочет собирать ответы на свои письма и укажет верный заголовок "Reply-to:", но большинство указывает там либо несуществующий адрес, либо адрес невинной жертвы;

In-Reply-To: - показывает, что сообщение относится к типу "ответ на ответ";

Comments: - означает комментарий. Этот заголовок не является стандартным, а потому может содержать любую информацию. Подобные заголовки добавляются некоторыми почтовыми программами (в частности, популярной программой Pegasus) для идентификации отправителя, но часто прописывается вручную спамерами, так что относиться к нему следует с осторожностью;

Status: - статус письма (новое, прочитанное);

Apparently-To: - эти заголовки нетипичны для нормальных сообщений, они обычно являются признаком массовой рассылки. В последнее время для массовых рассылок используется программное обеспечение, достаточно "умное", чтобы не плодить гигантские списки из этих заголовков;

Organization: - абсолютно свободный заголовок, обычно содержащий название организации, через которую отправитель сообщения получает доступ к сети. Отправитель, как правило, контролирует этот заголовок, поэтому там вполне может быть что-то вроде ЗАО "Рога и Копыта";

Priority: - исключительно свободный заголовок, устанавливающий приоритет сообщения. Большинство программ его игнорируют. Часто используется спамерами в форме "Priority: urgent" (или что-нибудь в этом роде) с целью привлечения внимания к сообщению;

Errors-To: - указывает адрес для отсылки автоматически генерируемых сообщений об ошибке, таких как "нет такого пользователя". Это редко используемый заголовок, так как большинство отправителей обычно хотят получать сообщения об ошибках на исходящий адрес, который используется почтовыми серверами по умолчанию.

Рассмотренные нами выше заголовки регламентируются RFC-822, как было сказано выше. Со времени использования стандарта RFC-822 обнаружился ряд ограничений, заметно урезающих пользовательские потребности. В частности, возможность пересылки нетекстовых данных, например, аудио и графики - данная возможность просто не была упомянута в RFC-822, описывающем лишь формат текстовых сообщений. И даже в случае текстового сообщения, стандарт RFC-822 обошел вниманием нужды пользователей, использующих расширенный набор символов, что характерно для азиатских и большинства европейских языков. Основное ограничение RFC-822 - относительно короткие строки и 7-битная символьная таблица. Пользователям для отправки нетекстовых данных приходилось конвертировать тело своего письма в 7-битную форму с помощью UUENCODE, BINHEX и аналогов. Стало понятно, что требовалась новая, дополнительная спецификация, и она была разработана - MIME - Multipurpose Internet Mail Extension (RFC-1314).