Читаем TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) полностью

1yzПоложительный предварительный (Positive Preliminary) ответ (в настоящее время в SMTP не используется)
2yzПоложительный дополненный (Positive Completion) ответ
3yzПоложительный промежуточный (Positive Intermediate) ответ
4yzКратковременный отрицательный (Transient Negative) ответ ("повторить попытку")
5yzПостоянный отрицательный (Permanent Negative) ответ

Вторая цифра классифицирует сам ответ:

x0zВ ответ на возникновение проблемы указывает на синтаксическую ошибку или неизвестную команду
x1zОтвет на информационный запрос (например, help)
x2zОтвет с информацией о соединении
x3zВ настоящее время не определен
x4zВ настоящее время не определен
x5zВ ответе указываются сведения о почтовой системе получателя

Значение третьей цифры меняется в зависимости от команды и первых двух цифр кода.

<p>16.11 Формат сообщений Интернета</p>

Стандарт для формата сообщений Интернета определен в RFC 822. Сообщение состоит из (в порядке списка):

■ Набора полей заголовка (многие из них необязательны)

■ Пустой строки

■ Текста, или тела (body), сообщения

Поле заголовка имеет вид:

Имя_поля: Содержимое_поля

Имена полей и их содержимое записываются символами ASCII. Существуют разнообразные поля заголовка. К наиболее распространенным можно отнести:

Received (получено)

Date (дата)

From (от)

То (кому)

cc (система cc-Mail)

bcc (blind cc — неявный формат cc-Mail)

Message-Id (идентификатор сообщения)

Reply-To (кому ответить)

Sender (отправитель, если он не является автором сообщения)

In-Reply-To (в ответ на)

References (ссылка на идентификатор более раннего сообщения)

Keywords (ключевые слова для поиска)

Subject (тема)

Comments (комментарии)

Encrypted (шифровано)

Можно ожидать, что каждый заголовок сообщения содержит поля Date, From и To. Добавленные поля (received field) формируются на основе временных меток, собираемых при переходе через промежуточные почтовые агенты пересылки. По большей части почтовое программное обеспечение может создавать идентификатор, который вставляется в сообщение. Например:

Message-Id: <[email protected]>

Поле Message-Id должно быть уникально для сети. Для этого в поле наряду с уникальным буквенно-цифровым идентификатором обычно включается имя хоста отправителя. Отметим, что показанный выше идентификатор содержит дату (1995 08 27), универсальное время (12 01) и дополнительную строку, обеспечивающую уникальность идентификатора для данного хоста и времени отправки.

Поля Resent (пересылка) добавляются на промежуточных системах. Например: Resent-To (куда переслать), Resent-From (откуда переслать), Resent-cc (переслать в систему cc-Mail), Resent-bcc (переслать в blind cc-Mail), Resent-Date (когда переслать), Resent-Sender (от кого переслать), Resent-Message-Id (с каким идентификатором переслать) и Resent-Reply-To (переслать в ответ на что).

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

<p>16.12 Почтовые расширения файлов и MIME</p>

Простота SMTP и формата почты облегчает реализацию почтовых систем Интернета и приводит к широкому распространению этих средств. Однако пользователям неудобно работать с простыми и ограниченными по своим возможностям текстовыми сообщениями. Ясно, что SMTP нуждался в переработке. Но как это можно было сделать без изменения уже установленных базовых почтовых приложений?

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

■ Эффективно — через новый улучшенный агент пересылки сообщений SMTP.

Перейти на страницу:

Похожие книги