Проектирование системы электронной почты предприятия

Дипломная работа - Компьютеры, программирование

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



. C: Ivanov

. C:.

. S: 250 OK

. C: QUIT

. S: 221 comp3. otd2. constr.org Service closing transmission channel

Как видно из строки 1, когда SMTP-клиент устанавливает TCP-соединение с портом протокола 25, SMTP-сервер отвечает кодом 220. Это означает, что соединение успешно установлено:

. S: 220 comp3. otd2. constr.org Simple Mail Transfer Service Ready

После того как MTA компьютеров comp1. otd1. constr.org и comp3. otd2. constr.org установили соединение и обменялись приветствием, первой командой, должна быть команда EHLO. Как указано в строке 2, SMTP-клиент передает EHLO, указывая имя своего компьютера в качестве аргумента. Другими словами, он сообщает: "Привет, я - comp1. otd1. constr.org". Команда EHLO употребляется с аргументом, как показано ниже:

. C: EHLO comp1. otd1. constr.org

В ответ на EHLO приемник выдает код 250, сообщая передатчику о том, что команда принята и обработана, а так же сообщать о видах сервиса, которые он поддерживает (расшифровку сервисов см. табл.4.2):

3. S: 250-comp3. otd2. constr.org says hello

-HELP

-AUTH CRAM-MD5 DIGEST-MD5

250-SIZE

-ETRN

-TURN

-VRFY

EHLO

Как видно из синтаксиса все строки ответа начинаются на 250 + дефис, а последняя 250 + пробел. Это сделано для того, чтобы можно было опознать конец ответа.

Среди поддерживаемых сервисов есть AUTH. Далее проведена аутентификация.

. C: AUTH CRAM-MD5

. S: 334NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=

. C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==

. S: 235 Authentication successful.

При получении команды аутентификации от клиента стока 4, сервер отправляет клиенту ответ с кодом 334 (ответ о готовности) и текстовой частью содержащей BASE64-закодированную строку строка 5. Ответ клиента состоит из BASE64-закодированной строки 6. После чего сервер подтверждает аутентификацию строкой 7.

После установления TCP-соединения и идентификации SMTP-клиент приступает к почтовой транзакции. Для начала он выполняет одну из следующих команд: MAIL, SEND, SOML или SAML. В нашем примере использована команда MAIL:

. C: MAIL FROM:

Все четыре команды, MAIL, SEND, SOML и SAML, имеют одинаковый синтаксис:

MAIL

Аргумент "обратный путь" (reverse path) указывает серверу, кому в случае ошибки отослать соответствующее сообщение. В нашем случае, Ivanov@comp1. otd1. constr.org.

После того как сервер выдал код ответа 250 (строка 9), согласившись обработать сообщение от Ivanov@comp1. otd1. constr.org, проведем проверку, существует ли пользователь с фамилией Petrov.

. C: VRFY Petrov

Сервер отвечает, что такой пользователь есть:

11. S: 250 Inav Petrov

Теперь необходимо указать получателя сообщения. Это делается при помощи команды RCPT. Команда RCPT имеет аргумент - имя получателя. На одну команду приходится только одно имя, поэтому, если получателей несколько, команда RCPT выдается несколько раз. В нашем примере команды RCPT выполняются в строках 12, 14, 16. Синтаксис RCPT похож на синтаксис команды MAIL:

RCPT

Однако в отличие от MAIL, аргумент RCPT начинается со слова "TO:". Содержимое аргумента - путь передачи сообщения (forward path), а не обратный путь. На данный момент для нас важно, что в пути передачи сообщения указано имя почтового ящика получателя.

Выдав команду RCPT, MTA-клиент ожидает получить ответ с кодом 250. Однако в ответ на 16-ю строку

C: RCPT TO:

сервер отвечает кодом 550:

S: 550 No such user here

Код ответа 550 означает, что MTA не в состоянии выполнить запрос клиента, поскольку не знает, как доставить почту указанному пользователю. То есть, скорее всего, у господина по фамилии Sidirov нет почтового ящика (Sidirov@comp3. otd2. constr.org) на этом компьютере. Теперь сервер обязан информировать клиента об отсутствии почтового ящика получателя сообщения. Однако в спецификации SMTP ничего не говорится о том, как клиент должен реагировать на это сообщение.

После того как посланы все команды RCPT, клиент начинает передачу данных при помощи команды DATA. В строке 18 показано, как MTA-клиент (передатчик) высылает команду DATA, в строке 19 - как сервер отвечает кодом 354. Этот код означает, что передача данных разрешена и должна заканчиваться комбинацией CRLF-точка-CRLF (новой строкой, содержащей только точку).

18 C: DATA

S: 354 Start mail input; end with

После того как получен код 354, клиент может начать передачу данных. MTA-сервер, в свою очередь, помещает принятые данные в очереди входящих сообщений. Сервер не высылает никаких ответов до тех пор, пока не получит комбинацию CRLF-точка-CRLF от клиента, означающую конец передачи данных. В нашем примере Ivanov отправляет тестовое письмо с текстом:

. C: Hello!

. C: Test mail.

. C: Ivanov

Как показано в строках 28 и 29, в ответ на полученную комбинацию CRLF-точка-CRLF, сервер выдает код 250. Код ответа 250 означает успешное окончание операции:

C:.

S: 250 OK

Для того чтобы закончить почтовую транзакцию, клиент, по правилам SMTP, обязан послать команду QUIT. Сервер, в свою очередь, отвечает кодом 221. Этот код подтверждает клиенту, что соединение будет закрыто, после чего соединение действительно закрывается:

30 C: QUIT

S: 221 comp3. otd2. constr.org Service closing transmission channel

В любой момент во время транзакции клиент может использовать команды NOOP, HELP, EXPN и VRFY. В ответ на каждую команду сервер высылает клиенту определенную информацию.

4. Описание протокола получения электронной почты

4.1 Общие описание протокола РОРЗ

Post Office Protocol (POP) - протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях.

В настоящее время

Copyright © 2008-2014 studsell.com   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение