Приблизительно по такому же принципу работает и электронная почта. Есть программа – почтовый клиент, в которой происходит подготовка почты к отправке и получение почты человеком. Есть программа – транспортный агент, которая отвечает за доставку электронной почты от компьютера к компьютеру, и есть программы, выполняющие роль почтамтов – они получают почту, сортируют ее по адресатам и раскладывают по почтовым ящикам.
В качестве почтового клиента выступают десятки программ, среди которых – mail, Pine, Kmail, Balsa, stuphead, Mozilla и многие другие. Для транспортировки почты используется МТА, Mail Transport Agent – почтовый транспортный агент. Старейшим и наиболее распространенным транспортным агентом является программа send mail. Так же получили популярность программы Qmail, postfix, exim.
Основой почтовой службы является система адресов. В Интернете принята система адресов, которая базируется на доменном адресе машины, подключенной к сети. Например, для пользователя ivan машины с адресом ogpu.odessa.ua почтовый адрес будет выглядеть так: ivan@ogpu.odessa.ua.
Почтовый адрес состоит из двух частей: идентификатора пользователя, который записывается перед знаком "коммерческого at" – "@" – и доменного адреса компьютера, который записывается после знака "@". Существует еще один вариант задания почтового адреса – адрес UUCP, который записывается в виде: odessa.ua!ogpu!ivan. Правда протокол UUCP сейчас почти не используется.
Для работы электронной почты разработан специальный протокол Simple Mail Transfer Protocol (SMTP) – простой почтовый протокол, который является протоколом прикладного уровня и использует транспортный протокол TCP.
Протокол SMTP
Simple Mail Transfer Protocol был разработан для обмена почтовыми сообщениями в сети Интернет. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP.
Взаимодействие в рамках SMTP строится по принципу двусторонней связи, которая устанавливается между отправителем и получателем почтового сообщения. При этом отправитель инициирует соединение и посылает запросы на обслуживание, а получатель на эти запросы отвечает.
Как и множество других протоколов, команды и ответы протокола SMTP передаются в ASCII-кодах и представляют собой небольшой набор английских слов. Приведем небольшой пример отправки почтового сообщения по протоколу SMTP:
Отправитель: MAIL FROM:
Получатель: 250 Ok
Отправитель: RCPT TO:
Получатель: 250 Ok
Отправитель: DATA
Получатель: 354 Start mail input; end with .
Текст почтового сообщения
Отправитель:
Получатель: 250
Протокол, помимо отправки почты, поддерживает переадресацию, прямую посылку сообщения на терминал, обработку ошибок и некоторые другие возможности.
Протокол POP3
Протокол обмена почтовой информацией POP3 (Post Office Protocol) предназначен для получения почты из почтовых ящиков пользователей на их рабочие места при помощи программ-клиентов. Таким образом, по протоколу SMTP пользователи отправляют корреспонденцию, а по протоколу POP3 – получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы. Этот протокол так же основан на установлении двусторонней связи, команды и ответы протокола передаются в ASCII-кодах и представляют собой небольшой набор английских слов.
Протокол IMAP
Еще одним протоколом разбора почты является протокол IMAP – почтовый протокол интерактивного доступа (Interactive Mail Access Protocol), который по своим возможностям похож на POP3, но разрабатывался как более надежная альтернатива последнему и обладает более широкими возможностями по управлению процессом обмена сообщениями с сервером.
Главным отличием от POP3 является возможность поиска нужного сообщения и разбор заголовков сообщения непосредственно на почтовом сервере.
Формат почтового сообщения (RFC-822)
Формат почтового сообщения определен в документе RFC-822. Почтовое сообщение состоит из трех частей: конверта, заголовка и тела сообщения. Конверт используется программами доставки почтового сообщения, а заголовок и тело сообщения предназначены для его получателя. Заголовок находится перед телом сообщения, отделен от него пустой строкой и состоит из определенных стандартом полей. Поля состоят из имени поля и содержания поля. Имя поля отделяется от содержания символом":". Для доставки сообщения можно воспользоваться только частью полей заголовка – такими как Date, From, се или то, например:
Читать дальше
Конец ознакомительного отрывка
Купить книгу