Чтение электронной почты

Обычно при запуске пользовательский агент просматривает содержимое почто­вого ящика пользователя на предмет наличия новой почты. Затем он может объя­вить пользователю число новых сообщений в почтовом ящике или отобразить по одной строке сведений о каждом письме, после чего перейти в режим ожидания команды пользователя.

В качестве примера работы пользовательского агента рассмотрим типичный сценарий. Запустив пользовательский агент, пользователь запрашивает краткую сводку о своей почте. На экране при этом появляется список писем (см. табл. 7.3). Каждая строка соответствует одному полученному письму. В данном примере в почтовом ящике содержится восемь сообщений.

Таблица 7.3. Пример отображения содержимого почтового ящика

#

Флаги

Размер

Отправитель

Тема

1

К

1030

asw

Изменение в системе MINIX

2

КА

6348

vovka

Не все Вовки так уж противны

3

KF

4519

Amy N. Wong

Запрос сведений

4

1236

bal

Биоинформатика

5

104110

kaashoek

Материалы по одноранговым сетям

6

1223

Frank

Re: Вы рассмотрите мой запрос на грант?

7

3110

guido

Наша статья принята

8

1204

dmr

Re: посещение моего студента

Каждая отображаемая строка содержит несколько полей, извлеченных из кон­верта или заголовка соответствующего сообщения. В простой системе электрон­ной почты список отображаемых полей встроен в программу. В более сложных системах пользователь может выбрать отображаемые поля, а настройки пользо­вателя будут храниться в специальном файле, называющемся профилем пользо­вателя. В данном примере первое отображаемое поле — номер сообщения. Вто­рое поле, Flags (флаги) может содержать флаг К, означающий, что сообщение не является новым, уже было прочитано и хранится в почтовом ящике; флаг А, означающий, что на данное сообщение уже был отправлен ответ; и/или флаг F, означающий, что сообщение было переадресовано кому-то еще. Возможно также использование и других флагов.

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

После того как программа отобразила заголовки, пользователь может выпол­нить одну из нескольких команд: чтение, удаление письма и т. д. Старые систе­мы с текстовым интерфейсом обычно управлялись с помощью односимвольных команд, таких как Т (вывести сообщение), А (создать ответ), D (удалить сообще­ние) и F (переслать). Более современные системы имеют графический интер­фейс. Обычно пользователь выбирает сообщение с помощью мыши, затем щел­кает на значке, соответствующем определенному действию (выводу сообщения, созданию ответа, удалению и переадресации).

Электронная почта сильно изменилась с тех пор, когда она представляла со­бой простую передачу файлов. Пользовательские агенты с развитым набором ус­луг позволяют управляться с огромными потоками почты. Для всех, кому прихо­дится получать и отправлять тысячи писем в год, такие программы просто незаменимы.