Я думаю, что настоящая ошибка заключается в том, что вы пытаетесь реализовать почтовый клиент. Я не эксперт по C# или .NET,, но для Java есть «стандартная» библиотека, которая выполняет SMTP и все другие почтовые протоколы, и я был бы очень удивлен, если бы в нее не было такой библиотеки. СЕТЬ.
Вместо того, чтобы тратить время на повторное создание связи сокетов с SMTP-сервером, вы должны обучить себя соответствующей библиотеке, которая будет использоваться для этой цели.
Или это академическое упражнение?
EDIT: Упс, это C++, а не C#. Вините мое зрение.
Адрес a whole page full of links to SMTP libraries. Выберите один, загрузите его, используйте.
Серьезно, если вы когда-либо управляете ссылкой о том, как выполнять аутентификацию ESMTP, вы, вероятно, можете управлять более простыми формами основных «секретных» рукопожатий, которые требуются. Но похлопывая вместе некоторый код для обработки «счастливого пути» и, возможно, просто разговаривая с одной конкретной реализацией сервера SMTP, это не то же самое, что создавать код, который работает надежно и надежно, с достойной обработкой ошибок и отчетами.
По крайней мере, пометьте свой вопрос на языке, который вы используете. – Oded