Протокол SMTP Simple Mail Transfer Protocol был разработан для обмена почтовыми сообщениями в сети Internet. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и Х.25. Достигается это за счет концепции IPCE (InterProcess Communication Environment). IPCE позволяет взаимодействовать процессам, поддерживающим SMTP в интерактивном режиме, а не в режиме «STOP-GO». Модель протокола Взаимодействие в рамках SMTP строится по принципу двусторонней связи,
которая устанавливается между отправителем и получателем почтового сообщения.
При этом отправитель инициирует соединение и посылает запросы на обслуживание,
а получатель на эти запросы отвечает. Фактически, отправитель выступает
в роли клиента, а получатель — сервера. Дисциплины работы и команды протокола Обмен сообщениями и инструкциями в SMTP ведется в ASCII-кодах. В протоколе
определено несколько видов взаимодействия между отправителем почтового
сообщения и его получателем, которые здесь называются дисциплинами. MAIL FROM: paul@quest.polyn.kiae.su Следующей командой определяется адрес получателя: RCPT ТО: paul@apollo.polyn.kiae.su После того, как определен отправитель и получатель почтового сообщения, можно отправлять последнее: DATA Команда DATA вводится без параметров и идентифицирует начало ввода почтового сообщения. Сообщение вводится до тех пор, пока не будет введена строка с точкой в первой позиции. Согласно стандарту почтового сообщения RFC822 отправитель передает заголовок и тело сообщения, которые разделены пустой строкой. Сам протокол SMTP не накладывает каких-либо ограничений на информацию, которая заключена между командой DATA и «.» в первой позиции последней строки. Приведем пример обмена сообщениями при дисциплине отправки почты: S: MAIL FROM: <paul@quest.polyn.kiae.su> Другой дисциплиной, определенной в протоколе SMTP является перенаправление почтового сообщения (forwarding). Если получатель не найден, но известно его местоположение, то сервер может выдать сообщение: R: 251 User not local; Если сервер может сделать только предположение о дальнейшей рассылке, то ответ будет несколько иным: R: 551 User not local; Верификация и расширение адресов составляют дисциплину верификации. В ней используются команды VRFY и EXPN. По команде VRFY сервер подтверждает наличие или отсутствие указанного пользователя: S: VRFY paul Используя команду EXPN можно получить список местных пользователей: S: EXPN Example-People В список дисциплин, разрешенных протоколом SMTP входит кроме отправки
почты еще и прямая рассылка сообщений. В этом случае сообщение будет отправляться
не в почтовый ящик, а непосредственно на терминал пользователя, если пользователь
в данный момент находится за своим терминалом. Прямая рассылка осуществляется
по команде SEND, которая имеет такой же синтаксис,
как и команда MAIL. Кроме SEND прямую рассылку
осуществляют SGML (Send or Mail) и SAML
(Send and Mail). Назначение этих команд легко понять из их названия. S: MAIL FROM:<> При использовании доменных имен следует использовать канонические имена,
т.к. некоторые системы не могут определить синоним по базе данных named. /users/local>telnet 25 порт используется в Internet для обмена сообщениями по протоколу SMTP. В интерактивном режиме пользователь сам изображает клиента SMTP и может посмотреть реакцию удаленной машины на его действия. |