
Протокол smtp
Несмотря на мощную теоретическую базу и практически безупречный архитектурный дизайн, стандарт Х.400 не получил широкого распространения за пределами государственных и банковских учреждений. Недостатками этого стандарта явились чрезмерная сложность реализации и значительная стоимость внедрения и эксплуатации систем на его основе. Однако вытекающие из этого стандарта общие принципы управления сообщениями стали основой современных почтовых служб.
Наиболее распространенным протоколом электронной почты является протокол SMTP (Simple Mail Transfer Protocol — простой протокол передачи почты), ставший стандартом обмена сообщениями в Internet и intranet. Популярность этого протокола объясняется сравнительной простотой реализации и широкими возможностями расширяемости без ущерба для обратной совместимости с существующими версиями почтовых систем. Немаловажным фактором является также широкая доступность спецификаций и отсутствие необходимости отчислять средства за их использование.
Протокол SMTP в качестве транспортного протокола использует TCP и применяется для реализации двух функций (рис. 3.):
-
пересылки отправляемых сообщений от почтовых клиентов к почтовым серверам этих клиентов;
-
передачи сообщений между почтовыми серверами.
Начальная версия протокола SMTP поддерживала ограниченный набор команд и сервисов для приема и передачи сообщений. В последнее время был разработан его расширенный вариант (Extended SMTP или ESMTP), обеспечивающий стандартную возможность дальнейшего расширения и поддержку таких функций, как подтверждение доставки (Delivery Notification Request или DNR), согласование максимального допустимого размера сообщений, передаваемых между серверами, и принудительная инициация передачи накопленной почты.
-
отсутствие возможности аутентификации входящих соединений;
-
ориентация на передачу только текстовой информации;
-
отсутствие возможности шифрования передаваемых сообщений.
Для устранения этих недостатков SMTP используется совместно с дополняющими его протоколами и стандартами.
Отсутствие средств аутентификации входящих соединений не позволило использовать SMTP для обслуживания клиентского доступа. Классическая почтовая SMTP-система требует наличия файлового доступа клиента к своему почтовому ящику для получения и работы с сообщениями. Для реализации работы в режиме клиент-сервер был создан протокол обслуживания почтового офиса (Post Office Protocol или POP). Наиболее удачной оказалась версия РОРЗ, широко используемая в современных SMTP-системах. Протокол РОРЗ позволяет пользователю с помощью программы электронной почты, выполняющей роль клиента, забрать из своего почтового ящика, расположенного на почтовом сервере, поступившие сообщения.
Наиболее продвинутые реализации РОРЗ поддерживают аутентификацию с шифрованием имени и пароля, а также шифрование трафика по протоколу Secure Socket Layer (SSL). Однако при использовании протокола РОРЗ отсутствует возможность просмотра характеристик сообщения без предварительной загрузки его на станцию клиента. Для решения проблемы просмотра и манипуляции свойствами почтового сообщения непосредственно на сервере, а также преодоления ряда других функциональных ограничений был разработан протокол IMAP4. В отличие от РОРЗ протокол IMAP4 предоставляет следующие возможности:
-
просмотр заголовков сообщений, чтобы определить, какие из них следует читать (загружать с почтового сервера на рабочую станцию);
-
избирательную загрузку с сервера частей сообщений в формате MIME;
-
поиск сообщений на сервере;
-
создание как стандартных, так и определенных пользователем атрибутов сообщений, например, для идентификации рабочих групп, проектов и т. д.;
-
организацию на сервере иерархии папок вне входного почтового ящика;
-
распределение по созданным на сервере папкам почтовых сообщений, их обновление и долговременное централизованное хранение;
-
централизованное резервирование и восстановление почтовых сообщений, хранящихся на сервере.
Современные программы электронной почты, например Microsoft Outlook Express, поддерживают в качестве клиентского почтового протокола как РОРЗ, так и IMAP4.
Следует заметить, что если для получения сообщений почтовым клиентом с сервера используется протокол РОРЗ или IMAP4, то отправка сообщений от почтового клиента на сервер все равно реализуется в соответствии с протоколом SMTP (рис. 1.25).
Изначально SMTP-системы рассчитывались на передачу информации исключительно в текстовом виде и не были ориентированы на передачу символов национальных алфавитов, т. е. использовали 7-битный набор символов.
Для решения проблемы передачи двоичных файлов был разработан стандарт UUENCODE, позволяющий внедрять предварительно преобразованные из бинарного в текстовый вид произвольные данные непосредственно в текст сообщения. Однако универсальным данный подход назвать было трудно, так как в общем случае никакой информации о типе передаваемых данных и породившем их приложении принимающая сторона не имела.
По мере расширения сети Internet, усложнения программного обеспечения и активного внедрения мультимедиа назрела необходимость создания универсального формата типизации и представления двоичных данных и текста, содержащего национальные символы. Таким универсальным форматом стали многофункциональные расширения почты Internet (Multipurpose Internet Mail Extensions или MIME). Формат MIME оказался чрезвычайно удачным, поскольку в него были заложены возможности неограниченного расширения как поддерживаемых типов данных, так и национальных кодировок.
Использование MIME позволяет включить в электронное письмо аудиоинформацию, двоичные данные или оцифрованный видеосигнал, а также подсоединять к передаваемому сообщению любые файлы. С помощью MIME можно создавать и читать электронные письма, содержащие информацию в RTF- и HTML-формате, в частности различные текстовые шрифты, сканированные изображения и электронные таблицы.
Немаловажной проблемой при передаче данных через SMTP-системы является обеспечение конфиденциальности. Для решения проблем с защитой информации был создан стандарт на шифрование тела сообщения, называемый засекреченные многофункциональные расширения почты (Secure MIME или S/MIME). Однако этот протокол не в состоянии защитить от перехвата заголовков сообщений.
Сообщение SMTP в соответствии с рекомендациями стандарта Х.400 состоит из конверта и содержимого. Содержимое в свою очередь имеет заголовок и тело. Функциональное назначение их полностью идентично. Состав полей в заголовке определяется форматом тела сообщения (UUENCODE или MIME). Ни одно поле не является обязательным, но, как правило, указываются такие поля, как кому (То:), от кого (From:) и тема (Subject:). В случае использования формата MIME в заголовке обязательно должно присутствовать поле MIME-Version:, в котором указывается номер версии стандарта MIME.