Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Пример последовательности команд почтовой транзакции

Каждой строке присвоен номер и обозначено, кому они принадлежат – передатчику (C) или приемнику (S). Текст справа от двоеточия содержит действительно передаваемые данные. Трехзначные цифровые комбинации в начале передаваемых строк обозначают коды ответа. Ответ SMTP похож на сообщения-подтверждения о доставке, поскольку появляется лишь в том случае, когда приемник получил данные.

1. S: 220 mail.ru ESMTP Wed, 07 Sep 2005 09:21:58 +0400

2. C: Helo XName

3. S: 250 mx1.mail.ru Hello XName [62.76.36.11]

4. C: mail from: klimov@mail.ru

5. S: 250 OK

6. C: rcpt to: ivanov@yandex.ru

7. S: 250 Accepted

8. C: rcpt to: petrov@mail.ru

9. S: 250 Accepted

10. C: data

11. S: 354 Enter message, ending with "." on a line by itself

12. C: From: klimov@mail.ru

13. C: To: ivanov@yandex.ru

14. C: Subject: Тема

15. C: Текст сообщения

16. C: простой

17. C: .

18. S: 250 OK id=1ECsNi-000ATp-00

19. C: quit

20. S: 221 mx1.mail.ru closing connection

 

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

После того как почтовые агенты компьютеров установили соединение и обменялись приветствиями, первой командой, согласно спецификации, должна быть команда HELO. Как указано в строке 2, SMTP-клиент передает HELO, указывая имя своего компьютера в качестве аргумента (имя может быть вымышленным).

В ответ на HELO приемник выдает код 250, сообщая передатчику о том, что команда принята и обработана.

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

После того как сервер выдал код ответа 250 (строка 5), согласившись обработать сообщение от klimov@mail.ru, необходимо указать получателя сообщения. Это делается при помощи команды RCPT. Команда RCPT имеет аргумент – имя получателя. На одну команду приходится только одно имя, поэтому, если получателей несколько, команда RCPT выдается несколько раз. В нашем примере команды RCPT выполняются в строках 6 и 8. Выдав команду RCPT, клиент ожидает получить ответ с кодом 250.

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

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

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

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


<== предыдущая страница | следующая страница ==>
Процесс передачи сообщений | Справочные данные. Таблица 4.1 – Команды протокола SMTP Команда Обязательна Описание HELO X Идентифицирует модуль-передатчик для модуля-приемника

Дата добавления: 2015-07-26; просмотров: 220; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.