
Так как протокол SMTP базируется на обмене данными формата NVT ASCII,
то мы можем с помощью программы эмуляции терминала (например, telnet.exe)
вручную посылать команды SMTP серверу и получать от него ответы. Попробуем
теперь поработать с SMTP сервером «вручную», с помощью telnet.exe, с одной
стороны генерация трафика «руками» поможет лучше понять и закрепить
полученные знания протокола SMTP, с другой стороны мы сможем произвести
некоторые действия, которые «нормальный клиент» делать не станет (например,
дать команду RCPT до команды MAIL и посмотреть на реакцию, при этом мы
можем проанализировать различные отклики сервера а так же сравнить, как
ведут себя различные сервера в тех или иных ситуациях) и, наконец, навык,
позволяющий при необходимости писать письма с помощью терминала тоже не
будет лишним для студентов.
Настроим telnet.exe на принудительный эхо вывод введенных символов,
так как мы будем подключаться не к службе Telnet и осуществлять эхо вывод
почтовый сервер для нас не будет. Так как фактически мы работаем напрямую
поверх TCP, то нам не нужно пользоваться анализатором протоколов – при
работе поверх TCP соединения с помощью терминала все, что происходит в
линии связи мы и так прекрасно контролируем.
Начнем с того, что подключимся к релейному серверу собственного
провайдера, который безусловно позволит нам отправлять письма любому
получателю и напишем письмо, правильно выполняя всю последовательность
действий.
C:\telnet mail.alkar.net 25
220 mail-kv.alkar.net ESMTP Exim 4.34 Wed, 15 Dec 2004 11:52:21 +0200
helo caesar
250 mail-kv.alkar.net Hello caesar [212.86.234.26]