3.6. Эл.почта. Общие концепцииx

advertisement
Электронная почта (Electronic Mail, E-Mail) - это сервис, обеспечивающий возможность пересылки
сообщений между двумя или более абонентами.
Использовать электронную почту для информационного обмена могут как люди (пользователи),
так и автономно работающие программы.
Функционирование электронной почты можно описать следующим образом. Пользователь с
помощью специального программного обеспечения создает на своем узле сообщение и затем
направляет его почтовому серверу. Основной задачей этого сервера является доставка
сообщений другому серверу, который обеспечивает хранение входящей почты получателя. После
этого абонент, которому адресовано это сообщение, с помощью почтового программного
обеспечения может в удобное для него время связаться с этим сервером, прочитать почту и, при
необходимости, обработать его, (например, распечатать или переслать его другим людям).
Сервер, который принимает сообщения от отправителя и пересылает их другим серверам,
принято называть сервером исходящей почты. А сервер, обеспечивающий хранение поступившей
почты и предоставление ее получателю - сервером входящей почты. Сервис электронной почты
допускает, что функции серверов входящей и исходящей почты для конкретного пользователя
могут выполнять как два различных почтовых сервера, так и один и тот же, имеющий в своем
составе соответствующие программные модули.
Каждый абонент, с точки зрения почтовой службы, представлен почтовым ящиком. Почтовый
ящик (mailbox) – это информационное пространство, выделенное на некотором узле сети для
хранения почтовых сообщений и обладающее уникальном именем в рамках узла. Уникальное имя
ящика в сочетании с уникальным адресом узла представляет собой уникальный адрес ящика во
всей сети.
Как правило, почтовые ящики одного узла объединены в специальную базу данных, а сообщения
представлены записями этой базы данных.
Сервис электронной почты предполагает, что доступ к почтовым ящикам является не анонимным,
а авторизованным. Для управления доступом пользователя к сообщениям с каждым почтовым
ящиком связывается определенная совокупность данных, называемая учетной записью.
Учетная запись (Account) - это набор сведений о пользователе почтового ящика, а также
дополнительных управляющих параметров. К числу таких сведений обычно относятся:
1. Учетное имя, или логин (login). Учетное имя - это последовательность символов, которое
используется сервером для идентификации пользователя при установлении доступа к
почтовому ящику. Как правило, учетное имя совпадает с именем почтового ящика.
2. Пароль (Password). Пароль - это последовательность символов, которая используется
совместно с учетным именем при установлении доступа к почтовому ящику для
подтверждения того, что доступ осуществляет именно владелец учетного имени. Пароль это секретная информация, которая должна быть известна только ее владельцу, т. е.
пользователю почтового ящика. Процесс проверки легальности пользователя на основе
учетного имени и подтверждения этого имени паролем называется аутентификацией
(authentication). А процесс предоставления доступа легальному пользователю (т.е.
прошедшему аутентификацию) называется авторизацией.
3. Дополнительные сведения о пользователе. Такие сведения предназначены для
повышения удобства работы с электронной почтой и, как правило, не являются
обязательными. В качестве примера можно привести имя пользователя в привычном для
людей виде (фамилия, имя и отчество), дополнительные адреса электронной почты и т.д.
В структуре сервиса Электронной почты предусмотрены следующие компоненты:
 Информационный ресурс – совокупность информационных объектов, использование
которых обеспечивается сервисом электронной почты. Основным информационным
объектом является сообщение электронной почты. Организация сообщения электронной
почты аналогична структуре обычного почтового сообщения – оно состоит из заголовка
("конверта"), содержащего информацию, обеспечивающую доставку (например, адреса
получателя и отправителя), и тела сообщения - блока информации, который необходимо
передать получателю. В простейшем случае тело сообщения содержит просто текст.
Однако при необходимости отправитель может "прикрепить" дополнительные данные,
представленные в виде дисковых файлов. Такие данные называются вложениями
(attacments).
Изначально предполагалось, что сообщения могут содержать в себе исключительно текст в
формате ASCII (т.е. символы латинского алфавита, цифры, знаки препинания и т.п.).
Однако, как показала практика, такой подход существенно ограничивал область
применения электронной почты. Поэтому к настоящему времени базовые концепции были
доработаны, и сейчас в сообщениях можно передавать информацию различного вида –
графику, звук, программы и т.д. Для этого используется механизм "вложений".

Почтовый сервер - программный комплекс, обеспечивающий пересылку сообщений
электронной почты, их хранение, управление базой данных сообщений, а также
позволяющий абоненту работать со своим почтовым ящиком. В настоящее время
функционирование электронной почты реализуется с помощью нескольких протоколов,
поэтому в составе почтовых серверов обычно присутствуют несколько модулей серверных частей, реализующих взаимодействие по основным почтовым протоколам:
SMTP-сервер, выполняющий функции сервера исходящей почты, а также POP3-сервер
и/или IMAP4-сервер, представляющие собой серверы входящей почты.
 Почтовый клиент – программа, позволяющая пользователю создавать и отправлять
сообщения, а также управлять полученными сообщениями (просматривать, упорядочивать,
печатать, удалять и т.д.) из собственного почтового ящика. Часто программный модуль,
обеспечивающий взаимодействие с почтовым сервером, называют пользовательским
агентом (User Agent, UA). Современные почтовые клиенты позволяют взаимодействовать
с серверными модулями основных протоколов электронной почты (SMTP, POP3 и IMAP4).
 Протоколы взаимодействия почтовых клиентов с серверами. В настоящее время
основными протоколами являются:
SMTP (Simple Mail Transfer Protocol), использующийся сервисом электронной почты
для передачи сообщений от отправителя к получателю.
POP3 (Post Office Protocol версии 3) и IMAP4 (Internet Message Access Protocol
версии 4), обеспечивающих выборку входящих сообщений из почтового
ящика.Протокол POP3 является более простым и, соответственно, менее
функциональным и защищенным, нежели IMAP4. Однако IMAP4 в настоящее время
поддерживается не всеми почтовыми серверами и клиентами и поэтому является
менее популярным.
Кроме того, большинство современных почтовых серверов позволяют клиентам осуществлять
выборку сообщений из почтового ящика по протоколу HTTP (Hyper Text Transfer Protocol) основному протоколу, который используется одним из самых популярных в настоящее время
сервисом WWW.
Структура почтовых серверов, клиентов и протоколов
Структура почтового сообщения
Сообщение электронной почты обычно состоит из двух частей:


заголовка (header), содержащего служебную информацию, управляющую доставкой и
обработкой сообщения;
тела (body), содержащего непосредственно пользовательское сообщение: текст и
прикрепленные данные (графические, звуковые файлы и т.п.).
Заголовок сообщения
Почтовое сообщение – это простой текст в формате ASCII. Поэтому заголовок сообщения
представляет собой последовательность текстовых строк вида:
Стандартом почтовых сообщений предусмотрено большое количество полей. Часть из них
являются обязательными, т.е. без них невозможно осуществить правильную доставку сообщений,
а часть - необязательными. Ниже перечислены наиболее часто используемые поля.
Message-ID– уникальный идентификатор сообщения. Уникальность значения этого поля
гарантируется программным обеспечением узла-отправителя, поэтому оно генерируется
автоматически.
Date– поле "Дата". Содержит дату отправки сообщения. Значение поля устанавливается
автоматически почтовым клиентом при отправке сообщения.
From– поле "От". Содержит адрес, который отправитель сообщения указывает в качестве
исходящего адреса.
Sender – поле "Отправитель". Содержит адрес, с которого было реально отправлено сообщение.
Это поле может отсутствовать в заголовке, если поле "From" содержит адрес реального
отправителя.
To– поле "Кому". Содержит адрес основного получателя сообщения.
Cc– поле "Копия". Содержит адреса дополнительных получателей сообщения.
Bcc – поле "Скрытая копия". Содержит адреса дополнительных получателей сообщения.
Получатели, перечисленные в полях "To" и "Cc", не будут знать, что абоненты из списка "Bcc"
получили копию сообщения.
Во всех полях, предназначенных для указания адресов получателей ("To", "Cc" и "Bcc")
может указываться как один, так и несколько адресов. Поля могут также отсутствовать в
сообщении. Однако очевидно, что для отправки сообщения должен быть указан хотя бы
один адрес получателя в любом из этих полей
Reply-to – поле "Ответить". Содержит адрес, по которому получатель должен направлять ответ.
Это поле является необязательным: в случае его отсутствия ответы направляются по адресу,
указанному в поле "From".
Subject – поле "Тема сообщения". В этом поле обычно указывается краткое описание (тема)
сообщения.
ПРИЕМ СООБЩЕНИЙ
Почтовый клиент должен уметь связаться с сервером входящей почты и обеспечить пользователю
возможность работать с сообщениям, поступившими в почтовый ящик.
В настоящее время существуют три базовых модели, описывающих взаимодействие почтового
клиента и сервера: автономная, интерактивная и отключенная.

Автономная (offline) модель предполагает, что клиент периодически подключается к
серверу для получения почты. После выборки клиентом сообщения обрабатываются на
узле получателя и могут быть удалены с сервера.
С одной стороны, удаление сообщений может оказаться полезным, т. к. объем почтового
ящика, как правило, ограничен, и накопление в нем сообщений может вызвать
переполнение. И как следствие - невозможность получения новых сообщений. С другой
стороны, удаление писем с сервера после выборки их клиентом сделает невозможной
работу с ними с другого узла сети. Поэтому современные почтовые клиенты,
взаимодействующие с сервером по этой модели, предоставляют пользователю
возможность установить или отключить режим удаления сообщений после выборки.
 Интерактивная (online) модель основана на том, что вся почта хранится и обрабатывается
на сервере, а клиент подключается и во время сеанса управляет этим процессом.
Поскольку хранение сообщений непосредственно в почтовом ящике может привести к его
быстрому переполнению, то пользователю необходимо следить за этим и своевременно
удалять ненужные письма.
 Отключенная (disconnected) модель представляет собой нечто среднее между
автономной и интерактивной моделями. Она предполагает, что клиент подключается к
серверу, принимает выборочно сообщения и обрабатывает их в автономном режиме.
После этого клиент может снова подключиться к серверу и передать ему изменения.
Для обеспечения этой функции в состав почтового клиента должны быть включены программные
модули клиентских частей основных протоколов получения почты: POP3 и/или IMAP4.
Протокол POP3 позволяет организовать взаимодействие по автономной модели, а IMAP4 - по
всем трем моделям. Однако на практике почтовые клиенты, взаимодействующие с сервером по
протоколу IMAP4 в соответствии с принципами автономной модели, не встречаются, поскольку
такое решение является неэффективным.
Создание и отправка сообщений
Создание сообщений предполагает две группы действий:
 создание заголовка и заполнение основных полей;
 создание собственно сообщения.
Для создания сообщений почтовые клиенты имеют в своем составе специальный редактор,
упрощающий ввод основных полей заголовка (часть полей заголовка заполняются автоматически
почтовым клиентом), а также позволяющий быстро сформировать текст сообщения.
Функциональные возможности редакторов различны и зависят от свойств конкретной программыклиента. Однако существует ряд требований общего плана, которые должны выдерживаться:
 поддержка выбора кодировки текста;
 поддержка работы с буфером обмена;
 поддержка (как дополнительное свойство) возможности создания форматированного
текста, а также прием форматированных сообщений (например, в формате HTML).
Окно редактора сообщений
Для обеспечения отправки сообщений в состав почтового клиента должен включаться
программный модуль клиентской части протокола SMTP.
Обычно отправка сообщений почтовым клиентом организуется в два этапа:
1. Созданное сообщение по команде пользователя, предназначенной для отправки
сообщений, помещается в папку "Исходящие" ("Outbox", "Unsent Messages" и т.п. ).
2. Во время очередного подключения к серверу исходящей почты все сообщения,
находящиеся в папке "Исходящие", отправляются на сервер. При необходимости почтовый
клиент можно настроить таким образом, чтобы копия отправленного сообщения
сохранялась в папке "Отправленные" ("Sent", "Sent items", "Sent mail" и т.п.).
Время, которое сообщение может находиться в папке исходящие, определяется моделью
взаимодействия клиента и сервера, а также скоростью передачи данных по каналу связи между
клиентом и сервером исходящей почты. При взаимодействии по интерактивной модели сообщения
передаются на сервер незамедлительно, а при использовании автономной или отключенной
модели это время определяется периодичностью подключения к серверу и, обычно, может быть
настроено.
Удаление отправленного сообщения из папки "Исходящие" может быть использовано для
предотвращения доставки получателю ошибочно отправленных сообщений.
Функции работы с почтовыми вложениями
Поддержка работы с почтовыми вложениями обеспечивает пользователю возможность
пересылать данные, хранящиеся в отдельных разнотипных файлах. Для этого почтовые клиенты
должны иметь в своем составе команды "прикрепления" файла к сообщению и исключения файла
из сообщения (при отправке), а также команды, позволяющие сохранить вложение в виде файла
на жестком диске (при получении). Часть почтовых клиентов позволяют просмотреть (открыть)
вложенные файлы полученного сообщения без сохранения на диске.
Окно редактора сообщений с вложениями
Для пересылки сообщений с вложениями почтовый клиент формирует тело почтового сообщения
как структуру, состоящую из нескольких блоков разнотипной информации (см. раздел "Тело
сообщения").
Download