70787

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

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

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

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

Русский

2014-10-27

163.93 KB

2 чел.

Тема 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. Объяснить реакцию сервера.


 

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

29491. СОЦИАЛЬНЫЕ ТИПЫ ПЕРЕХОДНОГО ПЕРИОДА: ПОПЫТКА ХАРАКТЕРИСТИКИ 103 KB
  Представляется общепризнанным что каждая социальная система в каждый значимый период ее существования формирует выдвигает некоторый специфический набор социальноантропологических типов. В условиях модернизационных процессов индустриализация НТР урбанизация образовательная революция в число значимых признаков социальноантропологических типов естественно попадают такие объективные индикаторы как род занятий тип расселения уровень образования и т д. Данные такого рода пригодны для описания внешних условий деятельности различных...
29492. МАССОВЫЙ ПРОТЕСТ: ПОТЕНЦИАЛ И ПРЕДЕЛЫ 95 KB
  Прежде всего это относится к характеру массовых выступлений протеста развернувшихся со второй половины 1996 г. и увенчавшихся пока организованной профсоюзным руководством акцией протеста 27 марта 1997 г. Кто заявляет о готовности протестовать Обратимся к показателям возможного декларативного участия в акциях протеста различных групп. Если как отмечалось ранее центральными фигурами в ожиданиях или опасениях протеста являются образованные люди то главный носитель настроений протеста малообразованные.
29494. ОБЩЕСТВЕННОЕ МНЕНИЕ НА ПЕРЕЛОМЕ ЭПОХ: ОЖИДАНИЯ, ОПАСЕНИЯ, РАМКИ (К социологии политического перехода) 147.5 KB
  Сама сложность такого перехода давно может считаться некой отечественной традицией: персонализация верховной власти при неразвитости формальных политических институтов в России неизменно в течении нескольких столетий приводила к тому что смена первых лиц означала смену политических эпох стилей и механизмов господства состава и роли определенных групп влияния и т. Очевидно при этом что соблюдение конституционных рамок и видимая бесконфликтность даже фактическое отсутствие конкуренции обеспечены смещением решающих политических и...
29495. Элита и «масса» в общественном мнении: проблема социальной элиты 76 KB
  Принято выделять элиты по их профессиональному месту по роду их занятий в обществе и соответственно говорить об интеллектуальных политических военных экономических культурных и т. Эта категория элиты действует преимущественно через системы и средства массовой информации. Поэтому кстати численность публичной элиты ограничена немногими десятками лиц это определяется возможностями самого поля массового внимания или фигурально выражаясь размерами подиума.
29496. КОМПЛЕКСЫ ОБЩЕСТВЕННОГО МНЕНИЯ (Статистика и социология в изучении общественного мнения) 174 KB
  При таком статистическом подходе существуют проблемы измерения общественного мнения но нет вопроса о его структуре и функциях2. но и так сказать изнутри в смысле самого языка общественного мнения символы стереотипы комплексы значений и средств выражения. Понятно что отечественный опыт последних лет питает сомнения и разочарования в отношении эффективности любых демократических институтов в том числе и общественного мнения в нынешнем российском обществе.
29497. ЧЕЛОВЕК, ТОЛПА И МАССА В ОБЩЕСТВЕННОМ МНЕНИИ 104.5 KB
  В частности это относится к пугающему одних и ободряющему других в зависимости от позиции представлению о всемогуществе масскоммуникативного влияния на массовую аудиторию на массового человека. В конечном счете это приводит к одной из граней извечной проблемы общественного человека: как и насколько может и желает человек поддаваться давлению коммуникативных средств массового поражения. О генезисе массового общества С.
29498. ВОЗВРАЩАЯСЬ К ПРОБЛЕМЕ СОЦИАЛЬНОЙ ЭЛИТЫ 141.5 KB
  Но каждое время то есть каждая социальная ситуация выбирает поддерживает пестует продвигает подходящий для нее тип человека. Если на поверхности советской системы находился человек послушнокарьерный то с ее распадом на переднем плане в политической жизни бизнесе медиа социальнонаучной сфере и около них оказался человек ловкий ориентированный на ближайший успех и не связанный ни ценностными ни социальногрупповыми рамками ответственности. Массовый человек ориентируется практически не на те звездные образцы политкумиров...
29499. «СРЕДНИЙ ЧЕЛОВЕК»: ФИКЦИЯ ИЛИ РЕАЛЬНОСТЬ 102 KB
  В соответствии с такой исследовательской ориентацией предметом рассмотрения прежде всего становится человек как респондент массового исследования а лишь затем возникает проблема социальногрупповой типологии. в рамках исследовательской программы Советский человек. Средний показатель I высшая 1 1 1 1 1 1 1 II 1 1 1 1 1 1 1 III 3 4 3 2 3 3 3 IV 6 5 6 4 7 6 5 V 21 20 24 21 19 19 20 VI 17 11 15 14 13 13 12 VII 18 13 14 16 16 15 15 VIII 12 16 15 15 16 18 15 IX 9 11 10 10 10 10 9 X низшая 8 17 13 16 15 14 14 Средний статус 626 697 675...