70787

Электронная почта в Internet. Протокол SMTP

Лабораторная работа

Информатика, кибернетика и программирование

Главной целью протокола SMTP является надежная и эффективная доставка электронных почтовых сообщений. SMTP базируется на следующей модели коммуникаций: в ответ на запрос пользователя почтовая программа-отправитель...

Русский

2014-10-27

163.93 KB

3 чел.

Тема 5: Электронная почта в Internet. Протокол SMTP

Общие сведения

В качестве стандартного метода передачи почты в Internet используется протокол SMTPSimple Mail Transfer Protocol, Простой протокол передачи почты (RFC-821, RFC-2821).

Главной целью протокола SMTP является надежная и эффективная доставка электронных почтовых сообщений. SMTP базируется на следующей модели коммуникаций: в ответ на запрос пользователя почтовая программа-отправитель (SMTP-клиент, Mail User Agent, MUA) устанавливает соединение с программой-приемником (SMTP-сервер, Mail Transfer Agent, MTA) (TCP, порт 25) (получателем может быть оконечный адресат или промежуточный почтовый сервер); в ходе сеанса связи клиент отправляет серверу SMTP-команды, на каждую из которых сервер должен отправить ответ.

Команды SMTP состоят из ключевых слов длиной (обычно) 4 символа, за которыми могут следовать аргументы. Каждая команда завершается парой символов CR и LF. Список основных команд протокола SMTP приведен в таблице.

Основные команды протокола SMTP

Коман-да

Назва-ние

Синтаксис

Описание

HELO

Hello

HELO domain

Команда HELO предназначена для идентификации SMTP-клиента на сервере, с этой команды начинается любой сеанс связи по протоколу SMTP. В качестве обязательного параметра клиент должен указать свое доменное имя. Если свое доменное имя неизвестно клиенту, он в этом случае должен указать свой IP-адрес.

EHLO

Extended Hello

EHLO domain

Команда EHLO является заменой команды HELO и сообщает серверу, что клиент поддерживает расширения протокола SMTP, описанные в других стандартах. В ответ на нее сервер перечисляет расширенный набор поддерживаемых команд.

Остальные замечания, касающиеся команды HELO, относятся и к EHLO.

MAIL

Mail

MAIL FROM: <user@domain>

Командой MAIL начинается транзакция по пересылке очередного сообщения. Параметр команды –e-mail-адрес отправителя письма.

RCPT

Recipient

RCPT TO: <user@domain>

Эта команда указывает адрес конечного получателя. Эта команда может быть повторена несколько раз, если у письма несколько адресатов.

DATA

Data

DATA

Команда DATA сигнализирует о начале передачи почтового сообщения. Конец почтового сообщения определяется по символу “точка”, переданному на пустой строке (если же требуется передать в почтовом сообщении строку, начинающуюся на точку, точка должна быть повторена дважды).

RSET

Reset

RSET

Эта команда прерывает текущую процедуру отправки почтового сообщения (отменяет действие предыдущих команд MAIL и RCPT).

VRFY

Verify

VRFY string

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

EXPN

Expand

EXPN string

С помощью этой команды клиент спрашивает у сервера, является ли указанное имя списком рассылки, и если является –сервер сообщает клиенту список всех адресов, являющихся членами этой рассылки.

HELP

Help

HELP

HELP string

В ответ на эту команду сервер может сообщить клиенту справочную информацию, например, список поддерживаемых команд или информацию по указанной команде.

NOOP

No operation

NOOP

NOOP не оказывает влияния на какие-либо параметры или результаты предшествующих команд, эта команда только вынуждает получателя послать положительный ответ. Может использоваться, например, для проверки работоспособности TCP-соединения.

QUIT

Quit

QUIT

Команда QUIT завершает сеанс связи клиента с сервером.

Каждый SMTP-сервер должен поддерживать следующий набор команд: HELO, MAIL, RCPT, DATA, RSET, NOOP, QUIT. Остальные команды являются необязательными и могут не поддерживаться различными версиями почтовых серверов.

Классификация кодов ответов на SMTP-команды

В ответ на каждую команду SMTP-сервер обязательно должен отправить один и только один ответ, указывающий на результат выполнения команды клиента. Ответ сервера состоит из трехзначного десятичного числа XYZ, после которого может следовать (через пробел) необязательный текстовый комментарий. SMTP-клиент должен определять свои дальнейшие действия только по трехзначному числу, не обращая внимание на сопроводительный текст. Если ответ сервера состоит из нескольких строк, тогда каждая строка должна начинаться одним и тем же числом, и во всех строках, кроме последней, первый пробел должен быть заменен на минус (“-“).

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

По результату выполнения команды ответы сервера можно классифицировать следующим образом:

Код

Название

Комментарии

1YZ

Положительный предварительный ответ (Positive Preliminary reply)

Команда была принята, но не была выполнена. Для продолжения выполнения запрошенного действия (или для отмены) требуются дополнительные команды. (Фактически протокол SMTP не имеет ни одной команды, в ответ на которую мог бы быть отправлен ответ 1YZ.)

2YZ

Положительный окончательный ответ (Positive Completion reply)

Запрошенное действие было успешно выполнено. Клиент может отправлять новый запрос серверу.

3YZ

Положительный промежуточный ответ (Positive Intermediate reply)

Команда была принята, выполнение запрошенного действия не завершено. Для продолжения работы требуются дополнительные данные. (Фактически в протоколе SMTP есть только одна команда с кодом, начинающимся на тройку: это команда DATA, после которой клиент должен отправить текст сообщения.)

4YZ

Временный ответ об отказе (Transient Negative Completion reply)

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

5YZ

Финальный ответ об отказе (Permanent Negative Completion reply)

Команда не была принята, запрошенное действие не выполнено. Причина, вызвавшая отрицательный ответ сервера, носит постоянный характер (например, сервер получил неизвестную команду, доменное имя адресата не существует, и т.п.), повторять данную команду (или последовательность команд) бессмысленно.

Категории ответов сервера, определяемые по второй цифре кода ответа сервера:

Код

Название

Комментарии

X0Z

Синтаксис (Syntax)

В эту категорию входят ответы о синтаксических ошибках, о несуществующих или неподдерживаемых сервером командах, а также сообщения, которые не входят в остальные категории.

X1Z

Информация (Information)

В эту категорию входят информационные сообщения (например, информация о статусе сервера или ответ на команду HELP).

X2Z

Соединение (Connections)

Сообщения, относящиеся к каналу передачи

X3Z

Эта категория в SMTP не используется

X4Z

Эта категория в SMTP не используется

X5Z

Почтовая система (Mail system)

В эту категорию включены ответы сервера, относящиеся непосредственно к почтовой системе.

С помощью третьей цифры формируется окончательный конкретизированный код ответа сервера. В протоколе SMTP используются следующие коды ответов:

Код

Значение

500

Syntax error, command unrecognized (This may include errors such as command line too long)

501

Syntax error in parameters or arguments

502

Command not implemented

503

Bad sequence of commands

504

Command parameter not implemented

211

System status, or system help reply

214

Help message

220

<domain> Service ready

221

<domain> Service closing transmission channel

421

<domain> Service not available, closing transmission channel (This may be a reply to any command if the service knows it must shut down)

250

Requested mail action okay, completed

251

User not local; will forward to …..

252

Cannot VRFY user, but will accept message and attempt delivery

450

Requested mail action not taken: mailbox unavailable (e.g., mailbox busy)

550

Requested action not taken: mailbox unavailable (e.g., mailbox not found, no access, or command rejected for policy reasons)

451

Requested action aborted: error in processing

551

User not local; please try …..

452

Requested action not taken: insufficient system storage

552

Requested mail action aborted: exceeded storage allocation

553

Requested action not taken: mailbox name not allowed (e.g., mailbox syntax incorrect)

354

Start mail input; end with <CRLF>.<CRLF>

554

Transaction failed (Or, in the case of a connection-opening response, "No SMTP service here")

Типичный сценарий работы по протоколу SMTP

  1.  Найти в DNS имя почтового сервера, принимающего почту для домена адресата.
  2.  Установить соединение с почтовым сервером (транспортный протокол TCP, порт 25).
  3.  Отправить команду HELO, дождаться положительного ответа сервера.
  4.  Командой MAIL передать серверу почтовый адрес отправителя сообщения.
  5.  С помощью команд RCPT передать серверу всех адресатов письма.
  6.  Отправить команду DATA; передать текст сообщения; передать точку на пустой строке.
  7.  Если в очереди имеются другие сообщения, которые следует передать через этот же сервер, перейти к шагу 4.
  8.  Передать команду QUIT, дождаться положительного ответа, закрыть соединение.

Вопросы для самостоятельного изучения

  1.  Формат почтовых сообщений в Internet.
  2.  MIME - Multipurpose Internet Mail Extensions.

Источники информации

  1.  RFC-821. Simple Mail Transfer Protocol. Jonathan B. Postel. August, 1982. (standard)
  2.  RFC-2821. Simple Mail Transfer Protocol. J. Klensin, Ed.. April 2001. (proposed standard)
  3.  RFC-822. Standard for the format of ARPA Internet text messages. David H. Crocker. August, 1982. (standard)
  4.  RFC-2822. Internet Message Format. P. Resnick, Ed.. April 2001. (proposed standard)
  5.  RFC-2045, RFC-2046, RFC-2047, RFC-2048, RFC-2049. Multipurpose Internet Mail Extensions (MIME). N. Freed, N. Borenstein, K. Moore, J. Klensin, J. Postel. November 1996. (draft standard)

План работы по теме 5

  1.  Законспектировать сообщенные преподавателем сведения (см. введение в тему №5), изучить основные команды протокола SMTP и разобраться с классификацией кодов ответов на команды.
  2.  Получить от преподавателя (или выбрать самостоятельно) e-mail-адрес, на который вы будете отправлять тестовые сообщения.
  3.  Определить в DNS имя почтового сервера, принимающего почту для домена данного e-mail-адреса (надеемся, что вы уже знаете, как это сделать, после изучения предыдущей темы).
  4.  С помощью утилиты telnet установить соединение с почтовым сервером. Используя справочник по командам SMTP и пример типичного сценария работы по протоколу SMTP, попытаться отправить сообщение на данный адрес. Объяснить ответы сервера на подаваемые команды.
  5.  Попробовать дать серверу неполный набор команд, недостаточный для передачи сообщения, или дать команды в неверной последовательности. Объяснить ответы сервера. С помощью команды RSET отменить неверно введенные команды и передать их в правильной последовательности.
  6.  Завершить соединение с почтовым сервером.
  7.  Установить соединение с каким-либо другим (указанным преподавателем или выбранным самостоятельно) почтовым сервером. Попытаться отправить через него сообщение на тот же адрес, выбранный при выполнении п.2. Объяснить реакцию сервера.


 

А также другие работы, которые могут Вас заинтересовать

53054. СЦЕНАРИЙ МЕДИАУРОКА ПО РУССКОМУ ЯЗЫКУ 113.5 KB
  Задачи урока: Повторить изученные фразеологизмы. Развивать умение отличать фразеологизмы от свободных словосочетаний. Развивать умение употреблять фразеологизмы в речи. Залезать в бутылку означает сердиться злиться упрямиться по пустякам Итак какие фразеологизмы вам встретились Объясните как вы понимаете их значение ответы и объяснения после каждого стихотворения для учителя Что вы знаете о фразеологии Ответы учащихся.
53055. У світі крилатих слів» (використання фразеологізмів при вивченні орфографії у 5 класі) 27 KB
  Завдання: запишіть слова у дві колонки: 1 слова з м’яким знаком; 2 слова без м’якого знака. Завдання: запишіть слова у дві колонки: 1 слова з м’яким знаком; 2 слова без м’якого знака. Завдання: запишіть слова у дві колонки: 1 слова з апострофом; 2 слова без апострофа. Відповідь: набитий гаманець Наведені вище вправи органічно вплітаються в будьякий урок мови а завдяки закодованим висловам учитель має можливість при відповідному доборі мовного матеріалу реалізувати виховний потенціал стійких виразів.
53056. Работа на уроках над фразеологизмами 54 KB
  На доске рисунок Незнайки и запись: Переливать из пустого в порожнее. брать себя в руки спустя рукава заварить кашу выходить из себя засучить рукава расхлёбывать кашу первым делом на худой конец в лучшем случае в последнюю очередь К данному выражению нарисовать рисунок: Спустя рукава А к какой части речи относится слово рукава 6. Составьте по данным словам и рисунку выражения фразеологизмы...
53057. Внедрение аутентичных фразеологизмов в процессе обучения французскому языку 71.5 KB
  Знание французских пословиц и поговорок помогает учащимся усвоить образный строй языка развивает память приобщает к народной мудрости. Работая над пословицами и поговорками интерпретируя их посвоему учащиеся постигают вариативность языка его выразительные средства и образное содержание воспринимают и что особенно ценно присваивают язык творчески откликаются привнося кроме адекватного понимания свое личное отношение. Такие упражнения позволяют учащимся почувствовать эмоциональную выразительность французского языка развивают память...
53058. FREE TIME ACTIVITY. THEME PARKS 149 KB
  EDUCATIONAL OBJECTIVES: COMMUNICATIVE COMPETENCES GOOD BREEDING AIM: LOVE TO THE NATIVE TOWN SKILLS DEVELOPMENT AIM: COMMUNICATION EQUIPMENT: DIDACTIC MATERIALS, RECORDS, PLACARDS, MULTIMEDIA
53059. АНГЛІЙСЬКА БЕЗ КОРДОНІВ підручник з англійської мови для студентів нефілологічних спеціальностей 19.12 MB
  Книга призначена для студентів усіх напрямів підготовки нефілологічних спеціальностей. Мета підручника – розвиток усних і писемних навичок, ознайомлення та засвоєння культурологічних особливостей країн, мову яких вивчають у межах дисципліни “Англійська мова”. Цей підручник знадобиться всім, хто прагне підвищити рівень володіння англійською мовою.
53060. Характер мого друга. My friend’s character 53.5 KB
  1) Remember that you are known by the company you keep; so always surround yourself with people of good character. 2)Remember well and bear in mind, a trusty friend is hard to find. Peggy A. Cavender 3)A smile and thank-you will not cost you a dime. But not doing either may cost you later. 4)When wealth is lost nothing is lost
53061. Friends and Friendship 34 KB
  Presentation: Friends, friendship… How much can we say about these special words. Friendship is a feeling that is between friends but what these feelings are. So pupils, today we continue to speak about friends and friendship. But first I want you to answer some questions