Что такое почтовое сообщение?
Эта административно-управленческая информация относится к двум категориям: во-первых, любые данные, которые являются специфическими для транспортной среды, подобно адресам отправителя и получателя. Это называется конвертом или оболочкой. Эти данные могут быть преобразованы транспортным программным обеспечением при передаче сообщения.
Во-вторых, данные необходимые для обработки сообщения почты, которые не являются частью транспортного механизма, типа темы сообщения, списка всех получателей и даты. Во многих сетях стало стандартным добавлять эти данные к сообщению, формируя так называемый заголовок почты (mail header). Эта информация отделена от собственно письма (mail body) пустой строкой.
Большая часть программного обеспечения для транспортировки почты в мире Unix использует формат заголовка, определенный в RFC-822. Его первоначальная цель: определить стандарт для использования в ARPANET. Позже он был адаптирован к разным сетям, включая UUCP-сети.
RFC-822 задает только самые общие данные. Более современные стандарты были задуманы, чтобы справиться с возрастанием потребностей как, например, шифрование данных, поддержка наборов национальных символов и мультимедиа расширений почты (MIME), которые подробно описаны в RFC-1341 и других RFC.
Во всех этих стандартах заголовки состоят из отдельных строк, отделяемых символами перевода строки. Имя поля начинается с первого символа строки. Поля заголовка могут занимать несколько строк. В этом случае все строки, кроме первой, начинаются с символа табуляции. Имена и семантика полей очень отличаются. Поля могут располагаться в любом порядке.
Типичный заголовок выглядит примерно так:
Return-Path: Received: ursa.cus.cam.ac.uk (cusexim@ursa.cus.cam.ac.uk [131.111.8.6]) by al.animats.net (8.9.3/8.9.3/Debian 8.9.3-6) with ESMTP id WAA04654 for ; Sun, 30 Jan 2000 22:30:01 +1100 Received: from ph10 (helo=localhost) by ursa.cus.cam.ac.uk with local-smtp (Exim 3.13 #1) id 12EsYC-0001eF-00; Sun, 30 Jan 2000 11:29:52 +0000 Date: Sun, 30 Jan 2000 11:29:52 +0000 (GMT) From: Philip Hazel Reply-To: Philip Hazel To: Terry Dawson , Andy Oram Subject: Electronic mail chapter In-Reply-To: Message-ID:
<
/p>
Обычно, все необходимые поля заголовка генерируются Вашим mailer`ом (программой для работы с электронной почтой), например elm , pine, mush или mailx. Некоторые поля необязательны и могут быть добавлены пользователем. Например, elm позволяет редактировать часть заголовка сообщения. Ниже приведен список наиболее часто используемых полей с пояснением их значения:
From:
Содержит email-адрес отправителя и, возможно, его "реальное имя".
To:
email-адрес получателя. Может быть несколько адресов, они разделяются запятыми.
Cc:
Кому послать копии. Может быть несколько адресов, они разделяются запятыми.
Bcc:
Кому послать невидимые копии. Может быть несколько адресов, они разделяются запятыми. Разница между "Cc:" и "Bcc:" в том, что "Bcc:"-получатели не увидят имен и адресов других получателей, а "Cc:"-получатели их увидят.
Subject:
Тема сообщения в нескольких словах.
Date:
Дата посылки почты.
Reply-To:
Определяет адрес для ответа получателя. Это может быть полезно, если Вы имеете несколько адресов, но хотите получать большую часть почты только на том, который Вы используете наиболее часто. Это поле необязательно.
Organization:
Организация, которая обладает машиной, с который послана почта. Это поле необязательно и не упоминается ни в одном RFC.
Message-ID:
Строка, сгенерированная транспортировщиком почты. Она уникальна для этого сообщения.
Received:
Каждый пункт, через который проходит почта (включая машины отправителя и получателя), вставляет такое поле в заголовок, указывая имя пункта, идентичность сообщения, время и дату получения сообщения, из какого пункта оно происходит, и какое транспортное программное обеспечение использовалось. Это сделано, чтобы Вы могли проследить путь сообщения. Так можно доказать, что какое-то письмо, которое приписывают Вам, было послано не с Вашей машины и является фальшивкой.
X-anything:
Почтовые программы не должны жаловаться на заголовки, которые начинаются с X-. Они используются, чтобы воплотить дополнительные возможности, которые еще не реализованы в RFC. Например, один из крупных серверов списков рассылки по Linux указывает имя списка в поле X-Mn-Key:.
Одно исключение в этой структуре: самая первая строка. Она начинается с ключевого слова From, которое сопровождается пробелом вместо двоеточия. Она содержит маршрут, время и дату, когда письмо было получено последней машиной, обрабатывавшей его, и необязательную часть, определяющую, от какой системы оно было получено.