Электронная почта в Интернете

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

яют одинаковые функции.

В настоящее время чаще всего используется протокол POP3.

В следующих таблицах сведены сведения о командах применяющихся в протоколах POP2 и POP3:

КомандаФункцияHelo пользователь парольИдентифицирует счет пользователяFold почтовая_папкаВыбирает почтовую папкуRead [n]Читает почту, начиная с сообщения nRetrИзвлекает сообщениеAcksСохранияет сообщениеAckdУдаляет сообщениеQuitЗавершает сеанс POP2Команды POP2

 

КомандаФункцияUserПосылает имя счета пользователяPassПосылает пароль пользователяStatЗапрос информации о количестве непрочитанных сообщений/байтовRetr nПересылка сообщения номер nDele nУдаление сообщения номер nLastЗапрос номера последнего прочитанного сообщенияList [n]Запрос информации о размере сообщения номер n или о размере всех сообщенийRsetВосстанавливает удаленные сообщения и устанавливает счетчик сообщений в 1Top n mПечатает заголовок и m строк сообщения номер nQuitЗавершение сеанса POP3Команды POP3

РОРЗ-сервис, как правило, устанавливается на 110-й ТСР-порт сервера, который будет находится в режиме ожидания входящего соединения. Когда клиент хочет воспользоваться РОРЗ-сервисом, он просто устанавливает TCP-соединение с портом 110 этого хоста. После установления соединения сервис РОРЗ отправляет подсоединившемуся клиенту приветственное сообщение. После этого клиент и сервер начинают обмен командами и данными. По окончании обмена РОРЗ-канал закрывается.

Ответы РОРЗ-сервера на команды состоят из строки статус- индикатора, ключевого слова, строки дополнительной информации и символов завершения строки - . Длина строки ответа может достигать 512 символов. Строка статус -индикатора принимает два значения: положительное ("+ОК") и отрицательное ("-ERR"). Любой сервер РОРЗ обязан отправлять строки статус-индикатора в верхнем регистре, тогда как другие команды и данные могут приниматься или отправляться как в нижнем, так и в верхнем регистрах.

Ответы РОРЗ-сервера на отдельные команды могут составлять несколько строк. В этом случае строки разделены символами , т. е. последовательность "CRLF.CRLF".

РОРЗ-сессия состоит из нескольких частей. Как только открывается TCP-соединение и РОРЗ-сервер отправляет приветствие, сессия должна быть зарегистрирована состояние аутентификации (AUTHORIZATION state). Клиент должен зарегистрироваться в РОРЗ-сервере, т. е. ввести свой идентификатор и пароль.

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

После того как клиент заканчивает работу (передает команду QUIT), сессия переходит в состояние UPDATE - завершение транзакции. В этом состоянии РОРЗ-сервер закрывает транзакцию данного клиента (на языке баз данных - операция COMMIT) и закрывает TCP-соединение.

В случае получения неизвестной, неиспользуемой или неправильной команды, РОРЗ-сервер должен ответить отрицательным состоянием индикатора.

РОРЗ-сервер может использовать в своей работе таймер контроля времени соединения. Этот таймер отсчитывает время "бездействия" ("idle") клиента в сессии от последней переданной команды. Если время сессии истекло, сервер закрывает TCP-соединение, не переходя в состояние UPDATE (иными словами, откатывает транзакцию или на языке баз данных - выполняет ROLLBACK).

2.3 Формат почтового сообщения

Формат почтового сообщения Internet определен в документе RFC-822 (Standard for ARPA Internet Text Message). Это довольно большой документ объемом в 47 страниц машинописного текста, поэтому рассмотрим формат сообщения на примерах. Почтовое сообщение состоит из трех частей: конверта, заголовка и тела сообщения. Пользователь видит только заголовок и тело сообщения. Конверт используется только программами доставки. Заголовок всегда находится перед телом сообщения и отделен от него пустой строкой. RFC-822 регламентирует содержание заголовка сообщения. Заголовок состоит из полей. Поля состоят из имени поля и содержания поля. Имя поля отделено от содержания символом ":". Минимально необходимыми являются поля Date, From и To, например:

Date:Wed May 10 18:31:21 2000

From:postcards@postcards.mail.ru

To:hetene@mail.ru

Поле Date определяет дату отправки сообщения, поле From - отправителя, а поле To получателя(ей). Если письмо отослано по списку рассылки, то в поле To будет указан адрес почтового ящика, на который посылается текст письма для рассылки. К примеру, для рассылки анекдотов от сайта www.anekdot.ru таким ящиком является anekdot-daily@lists.cityline.ru Письма по спискам рассылки идут довольно долго и могут запоздать на сутки и более. Бывает, что при ежедневной рассылке почты письмо за текущий день не приходит, а приходит оно после письма за следующий день. То есть, если письмо должно прийти 9-го числа, то может случиться, что оно придет 10-го, 11-го числа или еще позже. Это обусловлено самой системой рассылки. Письмо может проходить через большое количество серверов и вследствие этого может опоздать. Также на это влияет и загруженность почтового сервера.

Чаще заголовок содержит дополнительные поля:

Date:Tue May 9 12:21:18 2000

From:ykovrizhnykh@online.kz

Sender: admin@online.kz

To: hetene@mail.ru

Message-ID:

В данном случае поле Sender указывает, что владелец ящика ykovrizhnykh@online.kz не является автором сообщения. Он только переслал сообщение, которое получил от admin@online.kz. Поле M