
использоваться злоумышленниками для получения «излишней» информации,
что в свою очередь может быть использовано для каких то
несанкционированных действий. Более детально о вреде предоставления
«лишней» информации мы будем говорить в курсе, посвященном сетевой
безопасности, отметим, что протокол SMTP вообще крайне плох с точки зрения
безопасности.
И еще одна команда, которую мы сейчас разберем – EXPN. Синтаксис
данной команды:
EXPN text<CR><LF>
С помощью данной команды клиент может поинтересоваться у сервера,
является ли text адресом списка почтовой рассылки, то есть при отправке
письма по адресу получателя text не будет ли письмо отправлено целому списку
пользователей (почтовых ящиков), связанных с именем text. Если это так, что
сервер должен перечислить клиенту в ответе на команду EXPN список
пользователей или почтовых ящиков, входящих в список рассылки с именем
text. Данная команда применяется редко по той же причине, что и команда
VRFY.
Скажем несколько слов о расширениях протокола SMTP, т.е. пока
расскажем принцип организации расширений. Расскажем вкратце, каким
образом в протокол SMTP добавляют новые функции и уведомляют клиентов о
том, что эти функции поддерживаются. В протоколе SMTP поддерживается
команда EHLO как альтернатива команде HELO, отметим, что сервер, которого
приветствуют командой EHLO, в ответ сообщает клиенту о том, какие
расширения SMTP этот сервер поддерживает. Отметим, что расширения SMTP
будут изучены нами позднее, пока же мы просто рассматриваем принцип
уведомления клиентов о том, какие расширения поддерживаются. Отметим, что
даже сервер, поддерживающий расширения, поддерживает так же и команду
HELO, но приветствуя сервер таким образом, клиент не узнает о том, какие
расширения поддерживает данный сервер.
Чуть позднее мы рассмотрим еще несколько команд SMTP, пока же
продолжим рассмотрение протокола, нам еще необходимо изучить ответы SMTP
сервера.
Ответ SMTP сервера представляет собой трехзначное десятичное число,
каждая цифра которого несет в себе определенный смысл, после числа может
следовать произвольный текст (после пробела), поясняющий ответ сервера.
Важно, чтобы Вы поняли, что для программного обеспечения ответом сервера
является лишь упомянутое выше число, текст передается только лишь для
пользователя или администратора и не анализируется почтовыми программами и
серверами (но бывают и исключения, например, ответ на EHLO). Так же
отмечаем, что при необходимости сервера ответить многострочным текстом, в
каждой не последней строке ответа после кода отклика ставится не пробел а
тире (-), а в последней строке ставится пробел.
Проведем анализ значения первого байта откликов SMTP сервера.
• Отклики типа 1yz – предварительный положительный отклик. Этот отклик
означает, что команда была воспринята сервером, но запрошенные в
команде действия пока не выполнены, поэтому клиенту следует дать
другую команду, которая покажет серверу необходимость продолжения
или прекращения запрошенной операции. Такие отклики фактически не
используются.
• Отклики типа 2yz – окончательный положительный отклик. Команда,
данная клиентом выполнена и может быть передана следующая команда.