И что же парсит и преобразует telnet при работе в качестве
клиента SMTP?
ПК> Он то ничего не парсит, пользователя telnet'а приходится
парсить.
Ты опять все понимаешь с точностью до наоборот. Пользователь
telnet _имеет возможность_ провести диалог с сервером, не будучи
_вынужден_ для этого пользоваться специальным инструментом.
Который с шансами будет малость, а то и немалость, устаревшим, и
поддерживать не все особенности протокола.
Приведу в пример, скажем, swaks - отладчик для конфигурации
SMTP. У которого мне, помнится, не удалось найти средства
прервать диалог после команды DATA, но до вкармливания в сервер
собственно письма.
Так-то он весь из себя хороший, и пользоваться им для
тестирования конструкции со STARTTLS куда удобнее, чем руками...
Но вот пары нужных фич не умеет - и до свидания. И что б я
делал, будь там бинарный протокол? Разбирался бы в его коде,
чтобы туда эту возможность дописать? А если бы он при этом еще
и был написан с использованием сишной библиотеки реализации
протокола, и этой возможности не было бы в _ее_ интерфейсе?