Литмир - Электронная Библиотека

Агенты передачи сообщений, как правило, являются системными процессами. Они работают в фоновом режиме на машинах почтовых серверов и всегда должны быть доступными. Они должны автоматически перемещать почтовые сообщения по системе от отправителя получателю при помощи SMTP (Simple Mail Transfer Protocol простого протокола передачи почтовых сообщений). Это шаг, на котором передается сообщение.

SMTP был впервые определен как RFC 821. Далее в него вносились изменения вплоть до текущей редакции RFC 5321. Он отсылает сообщения по соединениям и высылает обратно отчеты о статусе доставки и любых возникших ошибках. Существует множество приложений, в которых подтверждение доставки имеет большую важность и даже может иметь юридическую значимость («Ваша честь, моя электронная система не очень надежна, поэтому я полагаю, что повестка с вызовом в суд просто где-то потерялась»).

Агенты передачи сообщений также используют списки рассылки (mailing lists), которые позволяют доставлять идентичные копии сообщения всем, чьи адреса были включены в список адресов электронной почты. Среди других полезных дополнительных функций можно перечислить следующие: рассылка копий писем «под копирку» (Carbon copy), рассылка копий без уведомления о других получателях (Blind carbon copy), письма с высоким приоритетом, секретная (то есть зашифрованная) почта, возможность доставки письма альтернативному получателю, если основной временно недоступен, а также возможность перепоручать обработку почты секретарям.

За связь пользовательских агентов и агентов передачи сообщений отвечают почтовые ящики и стандартный формат почтовых сообщений. Почтовые ящики (mailboxes) хранят почту, которая доставлена пользователю. Они поддерживаются почтовыми серверами. Пользовательские агенты просто предоставляют пользователям возможность увидеть содержимое их почтовых ящиков. Чтобы это сделать, пользовательский агент отсылает почтовым серверам команды и получает возможность манипулировать почтовыми ящиками, проверяя их содержимое, удаляя сообщения и т. д. Последний шаг в извлечении почты — это ее доставка конечному пользователю (шаг 3 на рис. 7.4). При такой архитектуре один пользователь может использовать различные пользовательские агенты на различных машинах, чтобы получить доступ к одному и тому же почтовому ящику.

Компьютерные сети. 5-е издание - _380.jpg

Рис. 7.5. Конверты и сообщения: а — обычное письмо; б — электронное письмо

Почта пересылается между агентами передачи сообщений в стандартном формате. В первоначально разработанный формат, RFC 822, вносились изменения. Текущая версия носит название RFC 5322; в нее включена поддержка мультимедиа-контента

и международный текст. Данная схема называется MIME, мы поговорим о ней позднее. Хотя многие все еще называют электронную почту RFC 822.

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

Сообщение внутри конверта состоит из двух отдельных частей: заголовка (header) и тела письма (body). Заголовок содержит управляющую информацию для пользовательских агентов. Тело письма целиком предназначается для человека-получателя. Примеры конвертов и сообщений показаны на рис. 7.5.

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

7.2.2. Пользовательский агент

Пользовательский агент — это программа (иногда называемая почтовым редактором email editor или «читалкой» email reader), управляемая множеством команд для составления и получения сообщений, а также для ответа на сообщения и управления почтовыми ящиками. Существует много популярных пользовательских агентов, например gmail от Google, Microsoft Outlook, Mozilla Thunderbird и Apple Mail. Внешне они сильно отличаются. Графический интерфейс большинства пользовательских агентов основан на меню или значках и требует наличия мышки или, на маленьких мобильных устройствах, возможности управления при помощи касания. Более старые пользовательские агенты, такие как Elm, mh и Pine, имеют интерфейсы, основанные на тексте, и работают при помощи ввода с клавиатуры однобуквенных команд. Функциональных различий нет, по крайней мере, в отношении текстовых сообщений.

Типичные элементы интерфейса пользовательского агента показаны на рис. 7.6. Агент, которым пользуетесь вы, вероятно, выглядит гораздо более современно, но функции, скорее всего, совпадают.

Когда пользовательский агент запущен, он обычно отображает сводную информацию о сообщениях в почтовом ящике пользователя. Часто каждому сообщению соответствует одна строка, а идут они в каком-либо порядке, выбранном при сортировке. В сводной информации выделены ключевые поля сообщения, извлеченные из конверта или заголовка

На рис. 7.6 показаны семь строк сводной информации. В строках используются поля «От», «Тема» и «Дата получения» в указанном порядке, в которых отображается, от кого получено сообщение, о чем оно и когда было получено. Вся информация отформатирована удобным для пользователя образом; она базируется на полях сообщения, но не отображается буквально. Таким образом, те, кто отправляют сообщения без темы, часто сталкиваются с тем, что их письмам был приписан низкий приоритет.

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

Компьютерные сети. 5-е издание - _381.jpg

Рис. 7.6. Стандартные элементы интерфейса пользовательского агента.

Также возможны несколько вариантов сортировки. Самый распространенный основывается на времени получения, сначала более свежие, с маркером того, прочитано сообщение получателем или нет. Поля сводной информации и порядок сортировки могут быть настроены в соответствии с желаниями пользователя.

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

После того как сообщение было прочитано, вы можете решить, что с ним делать. Это называется размещение сообщения (message disposition). Среди опций есть удаление, написание ответа, пересылка сообщения другому пользователю и оставление сообщения в ящике для дальнейшей работы. Большинство пользовательских агентов снабжено одним почтовым ящиком для входящих сообщений с набором папок для сохраненной почты. Папки позволяют пользователю сохранять сообщения в разных местах в зависимости от отправителя, темы или какой-то другой категории.

Распределение по папкам также может автоматически проводить пользовательский агент до того, как пользователь прочтет сообщение. Примером этого служит проверка полей и содержания сообщения, а также отзывов пользователя о предыдущих сообщениях, предназначенные для определения того, является ли письмо спамом. Многие интернет-провайдеры и компании используют программное обеспечение, помечающее сообщения как важные или спам, так что пользовательский агент может распределить их по соответствующим папкам. У интернет-провайдеров и компаний есть преимущество работы с множеством сообщений, так что у них могут быть списки известных спамеров. Если сотни пользователей в одно и то же время получают одинаковые сообщения, они, вероятно, являются спамом. Предварительно сортируя сообщения и помечая часть из них как «предположительно спам», пользовательский агент может избавить пользователей от массы работы по разделению нужного и ненужного.

220
{"b":"639789","o":1}