Протокол, помимо отправки почты, поддерживает переадресацию, прямую посылку сообщения на терминал, обработку ошибок и некоторые другие возможности.
Протокол POP3
Протокол обмена почтовой информацией POP3 (Post Office Protocol) предназначен для получения почты из почтовых ящиков пользователей на их рабочие места при помощи программ-клиентов. Таким образом, по протоколу SMTP пользователи отправляют корреспонденцию, а по протоколу POP3 – получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы. Этот протокол так же основан на установлении двусторонней связи, команды и ответы протокола передаются в ASCII-кодах и представляют собой небольшой набор английских слов.
Протокол IMAP
Еще одним протоколом разбора почты является протокол IMAP – почтовый протокол интерактивного доступа (Interactive Mail Access Protocol), который по своим возможностям похож на POP3, но разрабатывался как более надежная альтернатива последнему и обладает более широкими возможностями по управлению процессом обмена сообщениями с сервером.
Главным отличием от POP3 является возможность поиска нужного сообщения и разбор заголовков сообщения непосредственно на почтовом сервере.
Формат почтового сообщения (RFC-822)
Формат почтового сообщения определен в документе RFC-822. Почтовое сообщение состоит из трех частей: конверта, заголовка и тела сообщения. Конверт используется программами доставки почтового сообщения, а заголовок и тело сообщения предназначены для его получателя. Заголовок находится перед телом сообщения, отделен от него пустой строкой и состоит из определенных стандартом полей. Поля состоят из имени поля и содержания поля. Имя поля отделяется от содержания символом":". Для доставки сообщения можно воспользоваться только частью полей заголовка – такими как Date, From, се или то, например:
• Date: 26 Aug 76 1429 EDT
• From: 1@mail.ru
• To: Sm2@chat.ru
Поле Date определяет дату отправки сообщения, поле From – отправителя, а поля се и то – получателей. Однако, если следовать установленным правилам, необходимо определять все поля заголовка, описанные в стандарте:
• Date: 27 Aug 76 0932
• From: Motya <1@mail.ru>
• Subject: Re: Ответ на письмо
• Sender: K@Other-host
• Reply-To: Sam.Irving0R.org.ru
• To: Geo
• Cc: Sm3@chat.ru
• Comment: Sam is away on bisiness
• In-Reply-To:
• Message-ID: <4331.629.XYzi-What@Other-Host
Поле subject определяет тему сообщения, Repiy-то – пользователя, которому отвечают, comment – комментарий, in-Repiy-то – показывает, что сообщение относится к типу "В ответ на Ваше сообщение, отвечающее на сообщение, отвечающее …", Message-iD – уникальный идентификатор письма, используемый почтовыми программами.
Формат сообщения постоянно дополняется и совершенствуется. В частности, в RFC-1327 введены дополнительные поля для совместимости с почтой Х.400.
Спецификация MIME (Multipurpose Internet Mail Extension)
Спецификация MIME (Multipurpose Internet Mail Extension), приведенная в стандарте RFC-1341, предназначена для описания тела почтового сообщения Интернета. Необходимость в этом стандарте возникла в силу того, что по стандарту RFC-822 в тело почтового сообщения не могут быть включены некоторые специальные символы и восьмибитные символы.
Стандарт RFC-822 подробно описывает в заголовке почтового сообщения текстовое тело письма и механизм его рассылки, a MIME сориентирован на описание в заголовке письма структуры тела почтового сообщения и возможности составления письма из информационных единиц различных типов.
В стандарте зарезервировано несколько способов представления разнородной информации. Для этого используются специальные поля заголовка почтового сообщения:
• поле версии MIME, которое используется для идентификации сообщения, подготовленного в новом стандарте;
• поле описания типа информации в теле сообщения, которое позволяет обеспечить правильную интерпретацию данных;
• поле типа кодировки информации в теле сообщения, указывающее на тип процедуры декодирования;
• два дополнительных поля, зарезервированных для более детального описания тела сообщения.
Стандарт MIME разработан как расширяемая спецификация, в которой подразумевается, что число типов данных будет расти по мере развития форм представления данных.
Рассмотрим некоторые из полей MIME.
MIME-Version
Поле версии указывается в заголовке почтового сообщения и позволяет определить, что сообщение подготовлено в стандарте MIME. Формат поля: