Простой протокол передачи почты (SMTP)

Содержание материала

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

SMTP - это TCP/IP-протокол доставки электронных сообщений. Он переносит почту по сети Интернет и по локальным сетям. Определение SMTP дается в документе RFC 821, A Simple Mail Transfer Protocol. Протокол функционирует на базе надежной службы логических соединений протокола управления передачей (Transmission Control Protocol, TCP) и работает через порт с широко известным номером 25. В таблице перечислены некоторые из простых команд SMTP, вполне пригодных для восприятия человеком.

Команды SMTP
Команда Синтаксис Назначение
Hello HELO <узел-отправитель>
EHLO <узел-отправитель>
Источник SMTP-отправки
From MAIL FROM:<исходный адрес> Адрес отправителя
Recipient RCPT TOКконечный адрес> Адрес получателя
Data DATA Начать сообщение
Reset RSET Прервать сообщение
Verify VRFY <строка> Проверить имя пользователя
Expand EXPN <строка> Раскрыть список рассылки
Help HELP [строка] Запросить справку
Quit QUIT Завершить сеанс SMTP

SMTP - протокол настолько простой, что работу по этому протоколу пользователь может в буквальном смысле осуществлять самостоятельно. Подключившись посредством telnet к порту 25 удаленного узла, наберите почтовое сообщение в командной строке при помощи команд SMTP. Этот способ иногда используется для тестирования SMTP-сервера удаленной системы, а мы с его помощью проиллюстрируем процесс передачи почты между системами.

В приводимом ниже примере пользователь Daniel с узла rodent.wrotethebook.com вручную набрал и отправил письмо пользователю Tyler узла crab.wrotethebook.com.

$ telnet crab 25
Trying 172.16.12.1...
Connected to crab.wrotethehook.com.
Escape character is '"]'.
220    crab.wrotethebook.com ESMTP Sendmail 8.9.3+Sun/8.9.3; Thu, 19 Apr 2001
16:28:01-0400 (EOT)
HELO rodent.wrotethebook.com
250 crab.wrotethebook.com Hello rodent [172.16.12.2], pleased to meet you
MAIL FROM:<danieierodent.wrotethebook.com>
250 <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>... Sender ok
RCPT TO:<tylerecrab.wrotethebook.com>
250 <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>... Recipient ok
DATA
354 Enter mail, end with on a line by itself
Hi TylerI
250 0AA00316 Message accepted for delivery
QUIT
221    crab.wrotethebook.com closing connection
Connection closed by foreign host.

Ввод пользователя выделен жирным шрифтом. Остальные строки представляют вывод системы. Как видите, все очень просто. Открывается ТСР-соединение. Система-отправитель представляется. Указывает адреса From и То. Передача сообщения начинается командой DATA и заканчивается строкой, содержащей только точку (.). Сеанс завершается по команде QUIT. Очень просто, с использованием лишь нескольких команд.

В RFC 821 определены и другие команды (SEND, SOML, SAML, TURN), которые являются необязательными и не получили широкого распространения в реализациях SMTP. Даже некоторые из реализованных команд не находят широкого применения. Команды HELP, VRFY и EXPN предназначены скорее для диалоговой работы, нежели для обычного взаимодействия двух систем по протоколу SMTP. Следующий фрагмент сеанса SMTP демонстрирует работу этих дополнительных команд.

HELP
214-This is Sendmail version 8.9.3+Sun
214-Topics:
214- HELO EHLO HAIL RCPT DATA
214- RSET NOOP OUIT HELP VRFY
214- EXPN VERB ETRN DSN
214-For more info use "HELP <topic>".
214-For local information contact postmaster at this site.
214 End of HELP info
HELP RSET
214-RSET
214- Resets the system.
214 End of HELP info
VRFY <jane>
250 <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>
VRFY <mac>
250 Kathy McCafferty «mac»
EXPN <admin>
250-<Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>
250 David Craig «david»
250-<Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>

Команда HELP выводит справку по командам, реализованным в системе. Команда HELP RSET запрашивает информацию по команде RSET. Откровенно говоря, эта справочная система не очень-то полезна!

Команды VRFY и EXPN более полезны, но часто блокируются из соображений безопасности, поскольку предоставляют доступ к информации пользовательских учетных записей, которая может использоваться для атаки на систему. Команда EXPN 111admin> запрашивает перечень адресов электронной почты из списка рассылки admin, и система услужливо возвращает такой список. Команда VRFY запрашивает информацию не о списке рассылки, но о конкретном пользователе. В случае команды VRFY 111mac>, mac оказывается локальной учетной записью пользователя, и для этой записи отображается определенная информация. В случае VRFY 111jane>, jane - это псевдоним из файла /etc/aliases. Возвращаемое значение - электронный адрес jane, указанный в этом файле. Три команды последнего примера интересны, но редко используются. Свою работу SMTP выполняет при помощи других команд.


SMTP обеспечивает прямую сквозную доставку почты. Прочие почтовые системы, такие как UUCP и X. 400, используют протоколы передачи с промежуточным хранением, за одно действие передавая почту на шаг ближе к пункту назначения - следующей системе. Каждая из систем в конце транзитного участка сохраняет сообщение полностью, а затем передает его следующей системе. Сообщение путешествует таким образом, пока не попадет в пункт назначения. Рисунок 3.3 иллюстрирует почтовые системы с промежуточным хранением данных и с прямой доставкой. Путь UUCP позволяет четко проследить маршрут почтовых сообщений, а почтовый адрес SMTP подразумевает прямую доставку.

Прямая доставка позволяет SMTP доставлять почту, не полагаясь на промежуточные узлы. Если доставка невозможна, локальная система узнает об этом немедленно. Она может уведомить пользователя, что сообщение отправлено, либо поместить сообщение в очередь для последующей отправки - все так же без помощи удаленных систем. Минус прямой доставки в том, что она требует от обеих систем полной готовности к работе с почтовыми сообщениями. Некоторые системы не пособны работать с почтой напрямую, в особенности многие персональные и мобильные компьютеры уровня ноутбуков.

111

Такие системы часто выключаются в конце рабочего дня и могут большую часть времени не иметь подключения к сети. Отправка почты с удаленного узла дает сбой и завершается сообщением о том, что невозможно установить соединение, если локальная система выключена или не находится в сети. С целью разрешения подобных затруднений вместо прямой доставки используются возможности системы DNS для маршрутизации сообщения на почтовый сервер. Затем, когда система-клиент вновь устанавливает соединение с сетью, почта попадает к ней уже с почтового сервера. Один из протоколов, применяемых в сетях TCP/IP с этой целью, носит название протокола почтовой службы (Post Office Protocol, POP).


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.