Диплом: Разработка почтового сервиса для MAIL.RU

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
27
POP версии 3 предоставляет дополнительный метод аутентификации,
называемый APOP, который прячет пароль. Некоторые реализации POP могут
использовать Kerberos для аутентификации.
Конструкция протокола РОРЗ обеспечивает возможность пользователю
обратиться к своему почтовому серверу и изъять накопившуюся для него почту.
Пользователь может получить доступ к РОР-серверу из любой точки доступа к
Интернет. При этом он должен запустить специальный почтовый агент (UA),
работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым
сервером. Итак, во главе модели POP находится отдельный персональный
компьютер, работающий исключительно в качестве клиента почтовой системы
(сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу
POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере
пользователя существуют два отдельных агента-интерфейса к почтовой системе -
доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую
ситуацию "раздельные агенты" (split UA). Концепция раздельных агентов кратко
обсуждается в спецификации РОРЗ.
В протоколе РОРЗ оговорены три стадии процесса получения почты:
авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ
установили соединение, начинается стадия авторизации. На стадии авторизации
клиент идентифицирует себя для сервера. Если авторизация прошла успешно,
сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней
клиент либо запрашивает у сервера информацию (например, список почтовых
сообщений), либо просит его совершить определенное действие (например,
выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи
заканчивается.
В протоколе РОРЗ определено несколько команд, но на них дается только
два ответа: +ОК (позитивный, аналогичен сообщению-подтверждению АСK) и -
ERR (негативный, аналогичен сообщению "не подтверждено" NAK). Оба ответа
подтверждают, что обращение к серверу произошло и что он вообще отвечает на
команды. Как правило, за каждым ответом следует его содержательное словесное
28
описание. В RFC 1225 есть образцы нескольких типичных сеансов РОРЗ. Сейчас
мы рассмотрим несколько из них, что даст возможность уловить
последовательность команд в обмене между сервером и клиентом.
2.1.3 Internet Message Access Protocol
Протокол IMAP4 (Internet Message Access Protocol) позволяет клиентам
получать доступ и манипулировать сообщениями электронной почты на сервере.
IMAP более удобен для чтения почты в путешествии, чем POP, так как
сообщения могут быть оставлены на сервере, что избавляет от необходимости
синхронизировать списки прочитанных писем на локальном хосте и на сервере.
Существенным отличием протокола IMAP4 от протокола РОРЗ является то,
что IMAP4 поддерживает работу с системой каталогов (или папок) удаленных
сообщений так же, как если бы они располагались на локальном компьютере.
IMAP4 позволяет клиенту создавать, удалять и переименовывать почтовые ящики,
проверять наличие новых сообщений и удалять старые. Благодаря тому что IMAP4
поддерживает механизм уникальной идентификации каждого сообщения в
почтовой папке клиента, он позволяет читать из почтового ящика только
сообщения, удовлетворяющие определенным условиям или их части, менять
атрибуты сообщений и перемещать отдельные сообщения. Структура папок в
значительной степени зависит от типа почтовой системы, но в любой системе у
клиента есть специальный каталог INBOX, куда попадают поступающие клиенту
сообщения.
Протокол IMAP4 работает поверх транспортного протокола, который
обеспечивает надежный и достоверный канал передачи данных между клиентом, и
сервером IMAP4. При работе по TCP, IMAP4 использует 143-й порт. Команды и
данные IMAP4 передаются по транспортному протоколу в том виде, в каком их
отправляет сервер или пользователь.
Принцип передачи данных IMAP4 такой же как и у других подобных
протоколов. Сначала клиент и сервер обмениваются приветствиями. Затем клиент
29
отправляет на сервер команды и данные. Сервер, соответственно, передает
клиенту ответы на обработку команд и данных. После завершения обмена канал
закрывается.
2.1.4 Multipurpose Internet Mail Extention
Multipurpose Internet Mail Extensions (MIME, англ. Multipurpose Internet
Mail Extension — многоцелевые расширения почты интернета, произносится как
«майм») — стандарт, описывающий передачу различных типов данных по
электронной почте, а также, шире, спецификация для кодирования информации и
форматирования сообщений таким образом, чтобы их можно было пересылать по
Интернету.
MIME определяет механизмы для передачи разного рода информации
внутри текстовых данных (в частности, с помощью электронной почты), а именно:
текст на языках, для которых используются кодировки, отличные от ASCII, и
нетекстовый контент, такой как картинки, музыка, фильмы и программы. MIME
является также фундаментальным компонентом коммуникационных протоколов,
таких как HTTP, которым нужно, чтобы данные передавались в контексте
сообщений подобных e-mail, даже если данные реально не являются e-mail.
Основной формат электронных сообщений определен в RFC 2822, который
является обновленной версией RFC 822. Эти стандарты определяют похожие
форматы для текстовых e-mail-заголовков и содержимого и правил, относящихся к
общеиспользуемым полям, таким как «To:», «Subject:», «From:» и «Date:». MIME
определяет набор e-mail-заголовков для определения дополнительных атрибутов
сообщения, включая тип контента, и определяет множество кодировок, которые
могут быть использованы для представления 8-битных бинарных данных,
использующих символы из 7-битного ASCII множества. MIME также определяет
правила для кодирования не-ASCII символов в заголовках e-mail-сообщения,
таких как «Subject:».
30
MIME расширяем для новых типов — его определение включает метод для
регистрации новых типов контента и других атрибутов.
Формат MIME поддерживает передачу нескольких сущностей в пределах
одного сообщения. Причём сущности могут передаваться не только в виде
одноуровневой последовательности, но в виде иерархии с вложением элементов
друг в друга. Для обозначения множественного содержимого используются
медиатипы multipart/. Работа с такими типами осуществляется по общим правилам
описанным в RFC 2046 (если иное не определено конкретным медиа типом). Если
получателю не известно как работать с типом, то он обрабатывает его так же как
multipart/mixed.
Для передачи множественного сообщения в заголовок Content-Type
добавляется параметр boundary (граница), который обозначает последовательность
символов, разделяющих части сообщения. Граница может состоять из цифр, букв
и символов «'()+_,-./:=?». При использовании специальных символов (не цифр и
букв) значение параметра boundary следует заключать в двойные кавычки «"».
Максимальная длина границы — 70 символов.
Начало каждой части сообщения обозначается строкой «--граница». Конец
последнего сообщения обозначается строкой «--граница--». Самые первые
символы переноса строки CRLF (коды 13 и 10), которыми начинаются и
заканчиваются пограничные строки не входят в содержимое самой части. Если за
ними следуют ещё переносы строк, то они уже принадлежат включаемой части.
Перед первой частью и после последней может быть дополнительный
текст. Он называется преамбулой и эпилогом соответственно. В протоколе HTTP
эти элементы игнорируются. В сообщении электронной почты преамбула может
содержать текст, выводимый клиентами электронной почты, не понимающими
формата MIME.
В самом начале включаемой части располагаются заголовки, описывающие
её содержимое (Content-Type, Content-Length и т. п.). Перед непосредственно
телом части обязательно должна быть пустая строка даже если заголовки
отсутствуют. Если не определён Content-Type, то по умолчанию — text/plain.
31
2.2 Программа Sendmail
Основным средством рассылки почты в Internet является программа
sendmail. Она обеспечивает работу модульной системы рассылки, которая
предназначена для получения и отправки корреспонденции, а также управления
программами подготовки и просмотра почтовых сообщений. Sendmail позволяет
организовать почтовую службу локальной сети и обмениваться почтой с другими
серверами почтовых служб через специальные шлюзы. Sendmail может быть
сконфигурирована для работы с различными почтовыми протоколами. Обычно это
протоколы UUCP и SMTP.
Sendmail работает как "отделение связи" обычной почтовой службы,
которое принимает и пересылает почтовые сообщения. Sendmail может
интерпретировать два типа почтовых адресов:
почтовые адреса SMTP;
почтовые адреса UUCP.
Первые являются стандартными адресами Internet и, фактически, являются
стандартом де-факто. Именно этот адрес обычно указан на визитных карточках.
Sendmail можно настроить для поддержки:
списка адресов-синонимов;
списка адресов рассылки пользователя;
автоматической рассылки почты через шлюзы;
очередей сообщений для повторной рассылки почты в случае отказов
при рассылке;
работы в качестве SMTP-сервера;
доступа к адресам машин через сервер доменных имен BIND;
доступа к внешним серверам имен.
Sendmail отправляет почту в два приема: сначала почтовые сообщения
собираются в очереди, а затем отсылаются.
Sendmail может быть вызвана:
32
программой подготовки сообщений для отправки уже подготовленных
сообщений;
программой получения почты для пересылки полученной из сети почты;
непосредственно пользователем для отправки по почте файла или
короткого сообщения;
почтовым демоном, которым обычно является сама sendmail.
После того, как почта собрана, начинается ее рассылка. При этом
выполняются следующие действия:
адреса отправителя и получателя преобразуются в формат сети-
получателя почты;
если необходимо, то в заголовок сообщения добавляются строки,
позволяющие получателю отвечать на принятое сообщение (например: FROM:
<адрес>);
почта передается одной из программ рассылки почты.
Когда программа приема почты получает сообщение, она передает его
программе sendmail для последующей рассылки. Если сообщение достигло
машины адресата, то оно отправляется программой местной рассылки в почтовый
ящик пользователя.
Первый этап рассылки - сбор сообщений. Sendmail получает почтовые
сообщения из трех источников:
командной строки или стандартного ввода;
через SMTP-протокол (из сети);
из очереди сообщений.
При получении сообщений из командной строки или стандартного ввода,
sendmail вызывается пользователем с указанием адреса доставки сообщения. При
этом выполняются следующие действия: определяется адрес отправителя,
выбирается из командной строки адрес получателя и оба адреса преобразуются в
соответствии с описанием файла конфигурации, определяется способ доставки
сообщения, размещается заголовок в оперативной памяти для последующих
33
преобразований, а тело сообщения размещается во временном файле для отправки
без изменений.
При получении сообщений по протоколу SMTP, sendmail используется как
программа клиента и сервера протокола. Протокол определен в RFC-821 и
является основным для рассылки почты в Internet. В этом случае sendmail
запускается как демон, который "слушает" порт TCP и в случае получения
сообщения устанавливает соединение с удаленным клиентом SMTP. Как правило,
таким клиентом является другая программа sendmail.
Программа подготовки почты на локальной машине также может
использовать SMTP. Для этого sendmail открывает канал (pipe) межпроцессного
обмена.
При получении сообщений из очереди используются временные файлы
очередей. Эти очереди используются для хранения неразосланных сообщений.
Сообщение хранится в двух файлах. В одном файле хранится тело сообщения, а в
другом конверт и заголовок сообщения. Обычно sendmail опрашивает очереди
через определенные администратором почтового сервера промежутки времени, на
предмет наличия в них неразосланных сообщений.
Как только одним из описанных выше способов sendmail получила
сообщение, делается попытка его отправить по адресу. Для этого sendmail
определяет три параметра: программу рассылки, узел сети и получателя. Эта
процедура производится по правилам, которые содержатся в файле конфигурации.
Sendmail сохраняет одну копию тела сообщения во временном файле, а заголовок
загружает в оперативную память. Для каждого сообщения программа доставки
(рассылки) сообщений вызывается отдельно. Если сообщение должно быть
доставлено на разные машины, то для каждой из машин также вызывается своя
программа доставки. Некоторые программы могут обслуживать сразу несколько
абонентов одной машины, если это невозможно, то для каждого абонента
вызывается также своя программа доставки. Рассматривают два типа рассылки: на
удаленную машину и местную рассылку.
34
Для вызова программы рассылки sendmail открывает pipe и запускает
программу рассылки, командная строка которой находится в файле конфигурации.
Sendmail записывает заголовок и тело сообщения в pipe. Если программа рассылки
не использует протокол SMTP, то адрес получателя передается через pipe. Если
используется SMTP, то открывается двунаправленный канал для интерактивного
взаимодействия с удаленным сервером SMTP. Если в качестве транспортного
протокола используется TCP, то sendmail не запускает внешнюю программу
рассылки, а сама инициирует TCP-соединение с удаленным сервером SMTP.
Если sendmail определяет, что адреса доставки местные, то происходит
обращение к файлу адресных синонимов и производится преобразование адресов
(расширение). Файл адресных синонимов можно использовать для
перенаправления почты в файлы или для обработки местными программами.
Пользователь может иметь и свой собственный файл адресных синонимов для
управления рассылкой персональной почты. После преобразования адресов почта
отправляется программе местной рассылки (например rmail).
Важным моментом при работе sendmail является алгоритм определения
типа адресов. При использовании стандартного файла конфигурации применяются
следующие правила: почта рассылается в соответствии с форматом адреса
получателя, адреса при этом бывают местные, UUCP и SMTP.
Местный адрес - это адрес, который распознается как адрес машины, с
которой осуществляется отправка почты.
Если машина, с которой отправляется почта, имеет прямую линию связи по
протоколу UUCP со следующей машиной (в адресе), то почта передается на эту
машину, если такого соединения нет, то почта не рассылается и выдается
сообщение об ошибке. Файл конфигурации должен содержать детальное описание
маршрутов для пересылки сообщений на машины по протоколу UUCP.
Адреса SMTP - это адреса, описанные в стандарте RFC-822 или
стандартные адреса Internet.
Почта с адресами SMTP рассылается по протоколу SMTP.
35
Если в системе для адресации используется Berkeley Internet Name Domain
(BIND) сервер, то sendmail может определять адреса получателей, используя
сервис BIND. Если BIND не используется, то sendmail сама определяет адреса.
Анализ типа адресов в программе sendmail - это самый главный процесс,
т.к. по типу адреса получателя sendmail определяет каким способом сообщение
будет разослано. Вызов программы доставки вмонтирован в правила
преобразования адресов отправителя и получателя. Наибольшее число сообщений
об ошибках при рассылке сообщений связано как раз с определением адреса
получателя. В этом процессе принимают участие, по крайней мере, два сервиса
Internet: система рассылки почтовых сообщений и служба доменных имен.
2.3 Организация службы электронной почты в локальной сети
Наличие в офисе, конторе, учреждении локальной сети (ЛС) создает для ее
пользователей новые возможности интегрального характера, благодаря системам
ПК и другому оборудованию сети. Организуется автоматизированный
документооборот (электронная почта), создаются различные массивы
управленческой, коммерческой и другой информации общего назначения, и
персонально используются вычислительные ресурсы всей сети, а не только
отдельного компьютера. Появляются возможности использования различных
средств или инструментов решения различных задач (инженерных, финансовых,
издательских и т.д.). Кроме организации внутренних служб, ЛС позволяют
организовывать внешнюю, по отношению к обслуживаемому учреждению,
службы: телексная связь, почтовая корреспонденция, электронные доски
объявлений и газеты, а также выход в региональные (глобальные) сети и
использование их услуг.
Локальная сеть - это группа из нескольких компьютеров, соединенных между
собой посредством кабелей (иногда также телефонных линий или радиоканалов),
используемых для передачи информации между компьютерами. Для соединения
36
компьютеров в локальную сеть необходимо сетевое оборудование и программное
обеспечение
3
.
Локальные сети позволяют обеспечить: коллективную обработку данных
пользователями подключенных в сеть компьютеров и обмен данными между этими
пользователями; совместное использование программ; совместное использование
принтеров, модемов и других устройств.
Локальные сети (ЛС) представляют собой системы распределенной
обработки данных, которые охватывают небольшие территории (до 10 км) внутри
отдельных офисов, фирм, банков, бирж, других учреждений. При помощи общего
канала связи ЛС может объединять от десятков до сотен абонентских узлов,
включающих компьютеры, внешние запоминающие устройства, дисплеи,
печатающие устройства, копирующие устройства, кассовые и банковские
аппараты, интерфейсные схемы и многое другое. ЛС могут подключаться к
другим локальным и глобальным сетям с помощью специальных шлюзов, мостов,
маршрутизаторов, реализуемых на специализированных устройствах или на
персональных компьютерах (ПК) с соответствующим программным
обеспечением. Существует два типа компьютерных сетей: одноранговые сети и
сети с выделенным сервером. Одноранговые сети не предусматривают выделение
специальных компьютеров, организующих работу сети. Каждый пользователь,
подключаясь к сети, выделяет в сеть какие-либо ресурсы (дисковое пространство,
принтеры) и подключается к ресурсам, предоставленным в сеть другими
пользователями. Такие сети просты в установке, налаживании; они существенно
дешевле сетей с выделенным сервером. В свою очередь сети с выделенным
сервером, несмотря на сложность настройки и относительную дороговизну,
позволяют осуществлять централизованное управление.
Важнейшей характеристикой ЛС является скорость передачи информации.
В идеале при посылке и получении данных через сеть время отклика должно быть
таким же, как если они были бы получены от ПК пользователя, а не из некоторого
места вне сети. Это требует скорости передачи данных от 1 до 10 Мбит/с и более.
3
Шрейдер Ю.А. Информация и знание. Системная концепция информационных процессов М.: ВНИИСИ 1998 – 300 с

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран