Вход/Регистрация
Сетевые средства Linux
вернуться

Смит Родерик В.

Шрифт:
На заметку

В заголовке сообщения значение поля отделяется от его имени двоеточием. В заголовке конверта двоеточие обычно не используется. Если сервер SMTP использует формат

maildir
, данные, содержащиеся в заголовке конверта, хотя и используются при выполнении SMTP-транзакции, но не сохраняются в сообщении. Некоторые серверы могут быть сконфигурированы так, чтобы адреса, указанные в полях
From
и
То
заголовка конверта, сохранялись в составе поля
Received:
заголовка сообщения. Это помогает в тех случаях, когда надо выяснить причину возникновения проблем при передаче писем.

Чтобы понять, как действует протокол SMTP, надо проследить ход SMTP-транзакции. В листинге 19.1 показан процесс передачи сообщения, осуществляемый вручную с помощью программы

telnet
. (Как нетрудно догадаться, в обычной SMTP-транзакции программа
telnet
не участвует).

Листинг 19.1. Пример SMTP-сеанса

$ telnet louiswu.rodsbooks.com

25 Trying 192.168.1.5...

Connected to louiswu.rodsbooks.com.

Escape character is '^]'.

220 louiswu ESMTP Exim 3.12 #1 Wed, 30 Oct 2002 12:01:29 -0500

HELO nessus.rodsbooks.com

250 louiswu Hello nessus.rodsbooks.com [192.168.1.3]

MAIL FROM:<rodsmith@nessus.rodsbooks.com>

250 <rodsmith@nessus,rodbooks.com> is syntactically correct

RCPT TO:<rodsmith@louiswu.rodsbooks.com>

250 <rodsmith@louiswu.rodsbooks.com> is syntactically correct

DATA

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

From: <rodsmith@nessus.rodsbooks.com>

To: <rodsmith@louiswu.rodsbooks.com>

Subject: A Sample SMTP Session

This is the text of the message.

.

250 OK id=15z87H-OOOOCX-00

QUIT

221 louiswu closing connection

Connection closed by foreign host.

В большинстве случаев SMTP-соединение начинается по инициативе клиентской программы, в роли которой выступает программа подготовки писем или другой сервер SMTP (в сеансе, представленном в листинге 19.1, действия клиентской программы имитирует пользователь с помощью программы

telnet
). Клиент объявляет о своем намерении начать взаимодействие, передавая серверу команду
HELO
или
EHLO
. Затем с помощью команд
MAIL FROM:
и
RCPT ТО:
клиент задает заголовки конверта
From
и
То
. В ответ на каждую из этих команд сервер SMTP передает числовой код, посредством которого он сообщает результаты обработки очередной команды. Текст, следующий за числовым кодом, предназначен для пользователя, который следит за ходом взаимодействия. Команда
DATA
указывает на то, что передающий компьютер готов пересылать тело сообщения. Получив ответ от сервера, клиент начинает передачу заголовков и данных сообщения. (Заголовки сообщения передавать не обязательно. Если исключить их из листинга 19.1, письмо все равно будет доставлено.) Заголовки отделяются от тела сообщения пустой строкой. Строка, содержащая только точку, является признаком окончания сообщения.

Ниже описаны некоторые характерные особенности SMTP-транзакции и передаваемых сообщений, которые должны учитываться при настройке сервера.

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

HELO
и
MAIL FROM
, а также поля заголовка
From:
. Следует заметить, что если передающая система работает в режиме ретранслятора, в команде
MAIL FROM
и в поле заголовка будет содержаться адрес другого компьютера. Так или иначе, IP-адрес отправителя становится известен принимающей системе; в листинге 19.1 этот адрес указывается в ответе на команду
HELO
.

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

То
заголовка конверта был указан ваш адрес, а в поле
To:
заголовка сообщения — адрес другого пользователя. Поскольку действия по доставке письма определяются значением поля
То
заголовка конверта, то такое письмо будет передано вам. Почтовая программа, сохраняющая все данные о заголовках, помогла бы вам выяснить причины происходящего.

• Возможность отказаться от сообщения. Принимающий сервер SMTP может прекратить работу по доставке письма на любом этапе, начиная с установки соединения и заканчивая обработки сообщения после его получения. Чаще всего управление доставкой сообщения осуществляется после ответа на команду

RCPT TO:
, но существует также возможность контроля на более ранних этапах взаимодействия. Если получатель прерывает соединение перед получением команды
RCPT
некоторые отправители предпринимают повторную попытку передачи письма, что увеличивают нагрузку на сеть. Отказ от обработки после передачи содержимого письма имеет свой недостаток — если объем сообщения велик, такой подход также приведет к неоправданному увеличению трафика в сети.

  • Читать дальше
  • 1
  • ...
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: