Команда DATA

Третьим шагом является команда DATA, за которой следует нажатие клавиши Enter или отправка возврата каретки и перевода строки (<CRLF>) (несколько анахронический термин). Когда сервер получит эту команду, протокол SMTP рассматривает весь последующий трафик как данные для этого поля, пока не получит строку, содержащую только одну точку. Другими словами, раздел данных завершается, когда получающий сервер получит строку символов return-T04Ka-return (<CRLF>.<CRLF>). Индикатор конца данных подтверждает транзакцию и приказывает серверу SMTP обработать данные в буфере обратного пути доступа и буфере пути доступа пересылки. Когда обработка закончена, сервер вернет ОК. Приняв сообщение, сервер вставляет отметку времени в начале строки почтовых данных, которая указывает идентичность посылающего и получающего хостов. При конечной доставке сообщения также вставляется строка пути возврата, которая содержит информацию из обратного пути, введенного вместе с командой mail. Поле данных почты может также содержать, если потребуется, тему данных, строки to, сс и from. На рис. показано использование этих команд в сеансе Telnet, созданном с сервером Exchange. Это хороший способ протестировать соединение Exchange и почты Интернета.
Команда DATA будет отказывать, только если транзакция является неполной или нет доступных ресурсов для обработки запроса. Реализация SMTP в Microsoft Exchange не позволит иметь неполное сообщение. Как можно видеть на рис, Exchange требует, чтобы команды вводились в определенном порядке, прежде чем он будет обрабатывать данные.
Протокол SMTP включает дополнительные свойства для помощи в поиске получателей и списков распространения. Этими командами являются команда VRFY, которая используется для предоставления информации о пользователях почтового ящика, и команда EXPR, используемая для списков распространения. Однако, как видно на рис. эти команды не реализованы в Microsoft Exchange по соображениям безопасности. Вместо них для предоставления этой информации используется LDAP.
Команда NOOP используется для определения отсутствия операции. Она не влияет ни на какие введенные ранее команды или параметры. Она просто означает ничего не делать и получает с сервера ответ ОК.
RSET является командой сброса, которая прерывает текущую транзакцию. Вся информация в буферах будет сброшена и таблицы состояния очищены. Она также получает с сервера ответ ОК. Эта команда может быть отправлена в любой момент во время общения.

Оставьте комментарий