Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интернет-технологии_курс лекц.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
38 Мб
Скачать
☆

Электронная почта

Электронная почта (e-mail) обеспечивает оперативную передачу сообщений из Водного пункта Сети в другой, но является типичным видом услуг отложенного ответа. Отправлять и получать сообщения по этой почте можно в любое время дня и ночи. Важное достоинство электронной почты заключается в том, что удаленность адресата практически не играет никакой роли с точки зрения не только скорости доставки, но и ее стоимости (оплачивается лишь время подключения провайдером вашего компьютера к сети Интернет, естественно, по расценкам провайдера).

Электронное письмо приходит сразу же после его отправления и хранится в по­чтовом ящике (выделенном месте на хост-компьютере) до получения адресатом. Кроме текста оно способно содержать графические, звуковые и видеофайлы, а так­ же программы. Электронные письма могут отправляться сразу по нескольким адресам. Пользователь Интернета с помощью электронной почты получает доступ к различным услугам Сети, так как основные сервисные программы Интернета имеют интерфейс с данной службой. Суть используемой при этом технологии заключается в том, что на хост-компьютер отправляется запрос в виде электрон­ного письма. Текст письма содержит набор стандартных фраз, которые и обеспе­чивают доступ к нужным функциям. Такое сообщение воспринимается компью­тером как команда и выполняется им.

Для работы в режиме обмена корреспонденцией по электронной почте необходимы специальные программы. Существуют два основных стандарта e-mail:

– Simple Mail Transfer Protocol (SMTP), разработанный IETF (Internet Engine­ering Task Force);

– X.400, созданный International Telecommunications Union.

Стандарт SMTP привлекателен простотой, дешевизной, множеством сервисных функций и вследствие этого получил чрезвычайно широкое распространение, в частности в сети Интернет. Существует также протокол РОРЗ (Post Office Protocol), отличающийся от SMTP в основном тем, что в этом варианте клиент работает с программой, установленной на сервере провайдера, а не на своем компьютере.

Стандарт Х.400 отличается строгостью, жесткой стандартизацией, наличием коммерческих операторов с гарантированным уровнем сервиса, поддержкой боль­шого числа национальных кодировок. Этот стандарт ввиду названных особенностей пользуется большой популярностью среди государственных организаций всего мира при работе, в частности, по правительственным телекоммуникацион­ным линиям.

В принципе, солидная фирма должна внедрить у себя оба вида почты. Х.400, как более предсказуемая в своем поведении и надежная (но более дорогая), может служить для ответственных «денежных» приложений, в то время как почта Ин­тернета, работающая по стандартам SMTP и POP3, будет применяться как более дешевое, но менее надежное средство.

Из множества программ электронной почты, работающих под управлением Windows в стандартах SMTP/POP3, можно назвать, например:

– Outlook Express, используемая совместно с браузером MS Internet Explorer; Netscape Mail, входящая в состав пакета Netscape;

– популярная в России The Bat молдавской компании RIT Research Labs;

– Mail, HotMail, Hotbox и другие бесплатные почтовые серверы в Интернете;

– офисное приложение Microsoft Outlook;

– dMail компании «Демос»;

– «МиниХост Интернет Клиент» компании «Суперфизика»;

– AllegroMail компании Duke Software Solutions;

– Eudora компании Qualcomm (одна из первых e-mail программ) и многие другие.

Почти все эти программы выполняют следующие функции:

– подготовку текста сообщения;

– отсылку и прием корреспонденции;

– чтение и сохранение корреспонденции;

– удаление сообщений;

– ввод адреса (адресов) корреспондента;

– включение в создаваемые сообщения вложений — текстовых, графических файлов, аудио- и видеофайлов;

– вставку в сообщение электронной подписи или визитной карточки отправи­теля;

– ведение электронной адресной книги;

– комментирование и пересылку полученной корреспонденции другим абонентам;

– поиск нужной корреспонденции по заданным критериям;

– импорт (прием и преобразование текста в нужный формат) других файлов;

– отложенную отправку почты;

– рассылку корреспонденции по нескольким адресам;

– периодическую проверку новой почты;

– управление модемом для установления IP-соединения;

– сортировку сообщений по «папкам».

Следует заметить, что, хотя сообщения можно составлять и в собственном тексто­вым редакторе программы электронной почты, из-за ограниченности его возможно­стей обработку текстов большого размера лучше выполнять внешним редактором. При отправке такого текста программа электронной почты имеет возможность его скорректировать (например, произвести проверку орфографии).

Обычно программы электронной почты пересылают тексты в кодах ASCII, Unicode и в двоичном формате. Код ASCII позволяет записывать только неформатированный (plain) текст и не дает возможности передавать информацию об особен­ностях национальных шрифтов. Unicode может отражать национальные символы и знаки иероглифических систем. Для передачи комбинированных сообщений (графика и текст), а также для передачи программ используются двоичные, файлы. Следует иметь в виду, что при участий в дискуссиях или в составлении рассы­лочных списков необходимо оформлять сообщения в кодах ASCII, которые по­нимает любой почтовый клиент. Сообщения, записанные другими программами, можно отправлять, точно зная, что у корреспондента есть такая же программа.

Специальный стандарт MIME (Multipurpose Internet Mail Extensions – многоцелевое расширение почты Интернета), поддерживаемый всеми вышеназванными программами, позволяет вкладывать в символьные сообщения любые двоичные файлы, включая графику, аудио- и видеофайлы. При отправке сообщений по e-mail необходимо указывать в адресе не только имя хост-компьютера, но и имя адресата которому сообщение предназначено. Для каждого пользователя на хост-компьютере может быть заведен свой каталог для получения сообщений по электронной почте.

Формат адреса электронной почты должен иметь вид:

Имя_пользователя@адрес_хост-компьютера

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

Электронная почта появилась едва ли не раньше Интернета. В эпоху зарождения Интернет-технологии она была самым популярным из существовавших приложе­ний, а за годы развития претерпела множество изменений и продолжает меняться до сих пор.

Как и обычная почта, электронная почта является асинхронным средством связи: люди посылают друг другу сообщения в любое удобное для них время без предва­рительной договоренности с адресатами. Преимуществами электронной почты перед обычной являются высокая скорость доставки, простота использования и низкая стоимость обслуживания. С помощью списка рассылки с адресами отпра­витель может разослать одно и то же письмо сотням получателей одновременно. Кроме того, современная электронная почта позволяет вместе с письмами пересы­лать гиперссылки, текст в формате HTML, изображения, аудио- и видеофайлы, Java-апплеты и т. д. В этом разделе мы рассмотрим протоколы прикладного уров­ня, составляющие основу электронной почты. Однако перед тем как углубляться в детали, взглянем на структуру почтовой службы и ее ключевые компоненты.

На рис. 4.1 представлена структура системы электронной почты. В этой структу­ре можно выделить три ключевых компонента: агенты пользователя, почтовые серверы и протокол SMTP. Мы рассмотрим каждый из компонентов на примере двух пользователей, Алисы и Боба, общающихся по электронной почте. Агенты пользователя позволяют читать, отвечать, пересылать, создавать и сохранять элек­тронные письма; их часто называют программами для чтения почты, хотя мы по­стараемся избегать этого термина в нашей книге. Когда Алиса создает новое пись­мо Бобу, ее агент отсылает письмо почтовому серверу, где письмо попадает в очередь исходящих сообщений сервера. Когда Боб захочет прочитать письмо, его агент со­единится с почтовым сервером и доставит письмо на персональный компьютер Боба. Во второй половине 1990-х большое распространение получили агенты с гра­фическим интерфейсом пользователя (Graphical User Interface, GUI), позволяющие читать и создавать мультимедийные сообщения. В настоящее время наиболее по­пулярными агентами с интерфейсом GUI являются Eudora, Microsoft Outlook и Netscape's Messenger. Кроме того, существует множество агентов с текстовыми интерфейсами; к ним следует отнести mail, pine и elm.

Рис. 4.1. Структура электронной почты Интернета

Почтовые серверы составляют ядро инфраструктуры электронной почты Интерне­та. Каждый пользователь электронной почты обладает собственным почтовым ящи­ком, расположенным на почтовом сервере. В почтовом ящике хранятся все сообще­ния, адресуемые пользователю. Электронное письмо создается с помощью агента отправителя (Алисы), передается почтовому серверу отправителя, затем пересыла­ется почтовому серверу получателя, где попадает в его почтовый ящик. Получатель (Боб) подключается к почтовому серверу, сообщает свое имя и пароль и получает доступ к почтовому ящику. Почтовый сервер Алисы реагирует на сбои при пересыл­ке; например, при невозможности доставки письма почтовому серверу Боба оно вре­менно сохраняется в очереди для повторных попыток доставки. Повторная переда­ча обычно осуществляется примерно через каждые 30 мин; если в течение заданного временного интервала попытки доставки письма не приводят к успеху, письмо унич­тожается с уведомлением отправителя об этом прискорбном факте.

SMTP является главным протоколом прикладного уровня для электронной почты. Он использует механизм надежной передачи транспортного протокола TCP для до­ставки сообщений между почтовыми серверами отправителя и получателя. Как и боль­шинство протоколов прикладного уровня, протокол SMTP «двухсторонний». Сторо­на клиента выполняется на почтовом сервере отправителя, а сторона сервера — на почтовом сервере получателя. Каждый почтовый сервер в процессе функционирования по протоколу SMTP может менять свою роль, и принимая, и передавая сообщения.

SMTP

Протокол SMTP, описанный в документе RFC 2821, составляет основу служ­бы электронной почты Интернета. Как упоминалось ранее, с помощью SMTP осуществляется передача сообщений между серверами отправителей и получа­телей. Протокол SMTP был разработан значительно раньше, чем HTTP (пер­вое описание SMTP в RFC датируется 1982 годом, при этом фактическое ис­пользование протокола началось гораздо раньше). Несмотря на множество достоинств, позволивших ему столь широко распространиться в Интернете, SMTP все же является наследием более ранних технологий и не лишен некото­рых «архаичных» черт. Так, к примеру, SMTP требует простой 7-разрядной кодировки символов в теле сообщения (а не только в заголовках). Это ограни­чение имело смысл в 1980-е годы, когда возможности электронной почты были гораздо скромнее, и присоединение к письмам больших файлов с аудио-, ви­део- и графической информацией не поддерживалось. Теперь эта особенность SMTP приводит к необходимости преобразования бинарных мультимедийных данных в кодировку ASCII для передачи по сети, а затем к обратному преоб­разованию сообщений в бинарную форму.

Для того чтобы продемонстрировать принцип функционирования SMTP, обра­тимся к нашим героям – Алисе и Бобу. Предположим, что Алиса собирается по­слать Бобу простое электронное письмо в кодировке ASCII.

  1. Алиса запускает свой агент электронной почты, вводит адрес почтового ящика Боба (например, bob@someschool.edu), вводит текст сообщения и дает агенту команду на отсылку сообщения.

  2. Агент пользователя Алисы отсылает сообщение почтовому серверу, где оно попадает в очередь исходящих сообщений.

  3. SMTP-клиент, выполняющийся на почтовом сервере Алисы, обнаруживает сообщение в очереди и пытается установить TCP-соединение с серверной стороной SMTP, выполняющейся на почтовом сервере Боба.

  4. После процедуры рукопожатия SMTP-клиент отправляет серверу сообщение Алисы.

  5. Сервер принимает переданное сообщение и по окончании приема помещает его в почтовый ящик Боба.

  6. Боб в удобное ему время запускает свой почтовый агент, получает доступ к почтовому ящику и читает сообщение.

Приведенный сценарии иллюстрирует рис. 4.2.

Следует отметить, что SMTP обычно не предусматривает передачу сообщений че­рез промежуточные почтовые серверы, даже если клиент и сервер разделены ты­сячами километров. Если соединение с сервером не удается установить, сообщение остается на стороне клиента, при этом через определенное время предпринимает­ся следующая попытка установления соединения.

Рис. 4.2 Алиса посылает сообщение Бобу

Остается рассмотреть, каким образом агент пользователя Боба получает сообщения, находящиеся в его почтовом ящике. Вспомним о том, что SMTP явля­ется протоколом отправки, а операция извлечения и доставки сообщений, очевид­но, требует применения протокола получения. Таким образом, мы приходим к необходимости создания специального протокола получения электронной почты, находящейся в почтовом ящике сервера. Существует несколько таких протоколов, наиболее распространенными из которых являются POP3 (Post Office Protocol Version 3 – протокол почтового отделения, версия 3), ШАР (Internet Mail Access Protocol – протокол доступа к почте Интернета) и HTTP.

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

Рис.4.3 Протоколы электронной почты и их взаимосвязь

POP3

Протокол POP3, описанный в документе RFC 1939, является одним из самых про­стых протоколов доступа к электронной почте. Увы, простота протокола POP3 оборачивается его весьма ограниченной функциональностью. Протокол начинает действовать после того, как агент пользователя (клиент) устанавливает TCP-соединение с портом 110 почтового сервера, и подразумевает выполнение трех ос­новных фаз: авторизации, транзакции и обновления. Во время авторизации агент передает серверу имя пользователя и пароль для того, чтобы сервер предоставил агенту доступ к сообщениям электронной почты. В фазе транзакции пользователь получает сообщения, а также может пометить сообщения, предназначенные для удаления, и получить почтовую статистику. Наконец, фаза обновления наступает после того, как клиент посылает команду quit и закрывает POP3-сеанс. Почтовый сервер производит удаление сообщений, помеченных пользователем.

Во время POP3-транзакции агент пользователя посылает почтовому серверу команды, на каждую из которых сервер реагирует посылкой одного из двух ответ­ных сообщений: +0К (иногда с последующей передачей данных сервера клиенту) и -ERR, указывающего на ошибку в команде клиента.

Режим удаления переданных сервером сообщений имеет важный недостаток. Пред­положим, Боб является мобильным пользователем и получает доступ к почтовому серверу с разных компьютеров (например, домашнего, офисного и портативного). Если каждый раз после передачи сообщений сервер будет удалять их, то часть со­общений окажется на персональном компьютере, часть – на офисном, а часть – на портативном. Таким образом, Боб будет лишен возможности одновременного до­ступа ко всем полученным сообщениям. Если агенты пользователя на компьюте­рах Боба будут настроены на загрузку сообщений без удаления, копии всех входя­щих сообщений останутся в почтовом ящике, что обеспечит доступ к ним с любого компьютера.

Хотя во время POP3-сеанса между почтовым сервером и агентом пользователя почтовый сервер сохраняет определенную информацию о состоянии (в основном это относится к списку сообщений предназначенных для удаления), сохранять полную информацию о сеансе не нужно. Это в значительной степени упрощает реализацию почтового POP3-сервера.

IMAP

Если Боб использует протокол доступа к электронной почте POP3, он может со­здавать на своем компьютере специальные почтовые папки, в которые будут попа­дать загруженные с сервера сообщения. Кроме того, Боб может удалять загружен­ные сообщения, перемещать их между папками и производить поиск сообщений по имени отправителя или теме. Такая система хранения сообщений, реализованная в виде папок на локальном компьютере, удобна для резидентного пользователя, однако вряд ли подходит в случае, если пользователь регулярно меняет вычисли­тельные машины, с которых осуществляет доступ к электронной почте. Организа­ция иерархии папок на почтовом сервере была бы весьма удобна для «мульти-компьютерных» пользователей. Именно по этой причине был разработан другой протокол доступа к почте – IMAP.

Протокол IMAP описан в документе RFC 2060. Он имеет много общего с протоко­лом POP3, однако его структура значительно сложнее; сложнее и реализация кли­ентской и серверной сторон IMAP.

IMAP-сервер связывает каждое сообщение с некоторой пользовательской папкой. Изначально каждое принятое сообщение попадает в папку INBOX, где пользователь может прочитать его, а затем переместить в другую папку, удалить и т. п. Для всех подобных действий протоколом IMAP предусмотрены специальные команды. Удобной функцией является возможность поиска в каждой из папок писем, удов­летворяющих заданному критерию. Обратите внимание на то, что, в отличие от POP3, IMAP-сервер сохраняет информацию о ходе IMAP-сеанса, в том числе об именах папок, о том, какие сообщения в каких папках находятся, и т. п.

Еще одним важным достоинством IMAP является наличие команд, позволяющих пользователю получать отдельные компоненты сообщений: заголовки, части со­ставных MIME-сообщений и т. д. Эта возможность удобна при низкоскоростных соединениях между пользователем и Интернет-провайдером. Некоторые пользо­ватели предпочитают избегать загрузки длинных сообщений, содержащих несколь­ко объемных вложений (например, аудио- или видеоклипов), и возможность вы­бирать нужные фрагменты для них весьма кстати. Более подробную информацию о протоколе IMAP вы можете получить на официальном сайте IMAP [506].