Навигация
- Главная
- Адресация в системе электронной почты
- Протоколы приёма и передачи почты
- Организация службы электронной почты в сети Интернет
- Почтовые программы
- Особенности национальной переписки
- Работа с почтой через браузер
- Списки рассылки, веб-форумы и группы новостей
- Спам и почтовый этикет
- Шифрование почты и цифровая подпись
Реклама:
Организация службы электронной почты в сети Интернет
Основную роль в системе электронной почты играют программы трех типов:
- транспортные агенты (MTA - Mail Transport Agent),
- агенты доставки (MDA - Mail Delivery Agent),
- пользовательские агенты (MUA - Mail User Agent).
Взаимодействие этих программ и работа системы электронной почты представлены на рисунке:

Транспортный агент работает, как правило, на почтовом сервере. Транспортный агент функционирует как маршрутизатор почтовых сообщений. Его функции следующие:
- анализ и преобразование адресов и заголовков почтовых сообщений, в том числе:
- разбор списков рассылки, пседонимов, переадресации (форвардинг),
- преобразование адресов в формат другой почтовой системы, если MTA функционирует как шлюз между двумя почтовыми системами (например, между Internet Mail и Sprint Mail),
- преобразование имени почтового домена отправителя (маскарад),
- установка служебных заголовков в сообщении, отражающих его маршрут и процесс обработки;
- опрос DNS на предмет имени и адреса почтового сервера адресата сообщения;
- определение агента доставки для каждого сообщения и передача сообщения выбранному агенту доставки;
- управление очередью сообщений, отложенный и повторный вызов агентов доставки в случае невозможности немедленной доставки сообщения;
- возврат сообщений, которые по каким-либо причинам невозможно доставить по назначению.
Агент доставки производит доставку сообщения каким-либо специфическим способом. Существует несколько стандартных типов агентов доставки:
- local - письмо направлено на почтовый ящик, находящийся на этом же компьютере; доставка производится, например, добавлением содержимого сообщения в определенный файл (в Unix это файл /var/mail/почтовый_ящик).
- SMTP - письмо направлено на почтовый ящик в другом почтовом домене; доставка производится путем соединения с транспортным агентом на удаленном сервере с помощью протокола SMTP.
- prog - письмо должно быть обработано какой-либо программой; доставка производится вызовом этой программы, на вход которой подается содержимое письма.
Вообще методы доставки (и, соответственно, агенты) могут быть разнообразными: например, сохранение письма в базе данных; пересылка письма по факсу и т.д. Выбор агента доставки для каждого конкретного письма производится транспортным агентом в соответствии с заданной конфигурацией транспортного агента и адресом назначения письма.
Пользовательский агент является оболочкой пользователя для работы с электронной почтой, его функции:
- получение сообщений с почтового сервера;
- презентация, хранение, удаление и каталогизирование почтовых сообщений;
- создание нового сообщения и передача его транспортному агенту для дальнейшей обработки и доставки.
Рассмотрим работу службы электронной почты на примере (Рис 3). Пусть почтовый сервер, изображенный на рисунке, имеет адрес m.vvsu.ru и сконфигурирован для приема почты с адресами типа некто@cts.vvsu.ru. Соответственно, в базе данных DNS для зоны vvsu.ru есть запись вида
cts.vvsu.ru. IN MX 10 m.vvsu.ru.
Пусть также пользователь, изображенный на рисунке, имеет адрес ivanov@cts.vvsu.ru.
Рассмотрим входящее сообщение от bg@aquarium.ru к ivanov@cts.vvsu.ru. Сообщение поступает по сети к транспортному агенту. (Для передачи сообщений транспортному агенту по сети используется протокол SMTP). MTA, проанализировав заголовок сообщения, определяет, что оно адресовано в почтовый домен cts.vvsu.ru, который он обслуживает. В соответствии с этим выбирается агент доставки local, запускается программа этого агента и на вход ей подается текст сообщения со всеми заголовками. Агент доставки каким-то способом, не интересным для транспортного агента, производит доставку сообщения и прекращает свою работу. Транспортный агент анализирует статус выхода (exit status) программы агента доставки, по которому определяет, было ли сообщение успешно доставлено или произошла ошибка. В случае ошибки MTA формирует сообщение об ошибке, исходящее с адреса MAILER-DAEMON@m.vvsu.ru, которое будет отправлено отправителю письма (и, как правило, администратору почтового сервера по адресу postmaster@m.vvsu.ru). В случае успешного завершения работы агента доставки письмо считается доставленным получателю.
Агент доставки local (в Unix это программа mail, запущенная как "mail -d ivanov") производит доставку методом добавления содержимого письма к файлу /var/mail/ivanov (в дальнейшем для упрощения мы будем говорить о почтовом сервере под Unix, хотя при обсуждении общей организации системы электронной почты это не имеет принципиального значения).
Иванов (точнее, пользовательский агент Иванова) может получить доступ к своей почте двумя способами:
- Иванов работает на том же компьютере, где находится почтовый сервер. В этом случае MUA Иванова тривиальным образом считывает поступившее сообщение из файла /var/mail/ivanov и сохраняет его, в случае необходимости, куда-то в свой каталог для осуществления своих функций, описанных выше.
- Иванов работает на другом компьютере (точнее, Иванов не имеет возможности или желания работать на почтовом сервере). Эта ситуация наиболее типична для пользователей почты в организациях или сообществах. В этом случае для доступа к файлу /var/mail/ivanov через сеть используется протокол POP-3. На почтовом сервере запущена программа POP-сервер, а в MUA Иванова встроен POP-клиент. Так как протокол POP-3 работает поверх TCP/IP, нет никаких ограничений на местоположение компьютера Иванова.
В настоящее время получает распространение протокол IMAP-4, по существу являющийся расширенной версией протокола POP-3. Он, в частности, позволяет пользовательскому агенту каталогизировать и хранить сообщения на почтовом сервере, а не на компьютере пользователя, как это происходит при использовании POP-3. Это удобно в случае, когда Иванов не имеет постоянно закрепленного за собой компьютера - например, Иванов - студент, работающий с почтой из компьютерного класса.
Теперь рассмотрим исходящее сообщение от ivanov@cts.vvsu.ru к bg@aquarium.ru. Сообщение поступает к транспортному агенту двумя способами в зависимости от того, где работает Иванов. Если Иванов работает на почтовом сервере, то его MUA напрямую обращается к транспортному агенту и передает ему сообщение для БГ. Если же Иванов работает на другом компьютере, то его MUA связывается с транспортным агентом через сеть по протоколу SMTP. (Опять, так как протокол SMTP работает поверх TCP/IP, нет никаких ограничений на местоположение компьютера Иванова).
Получив сообщение, MTA анализирует его заголовок и определяет, что это сообщение направлено в другой почтовый домен и не попадает ни под какие особые случаи (например, не должно быть доставлено через UUCP или отослано по факсу - это все определяется конфигурацией MTA). Следовательно, для доставки этого сообщения выбирается агент SMTP, при этом MTA делает запрос в DNS на предмет того, кто является обработчиком почты для домена aquarium.ru. (DNS вернет relay.rinet.ru, IP-адрес=195.54.192.35). Этот адрес вместе с текстом сообщения будет передан агенту доставки, который по протоколу SMTP соединится с указанным адресом и таким образом отправит сообщение транспортному агенту сервера relay.rinet.ru. Если во время этой операции произошла нефатальная ошибка (например, удаленный сервер временно выключен), то агент SMTP вернется со статусом "Отложено" и MTA поставит сообщение в очередь для повторной отправки.