Как отправить письмо с помощью Telnet (smtp.yandexru, smtp.gmail.com) или winsock?

Рейтинг: 1Ответов: 1Опубликовано: 04.02.2015

Надо отправить с помощью Telnet письмо на почту через SMPT сервера yandex или gmail, вот сессия SMTP:

open smtp.yandex.ru 587
220 smtp1o.mail.yandex.net ESMTP <Want to use Yandex.Mail  for you domain? Visit http://pdd.yandex.ru>
EHLO host
250-smtp3o.mail.yandex.net
250-8BITMIME
250-PIPELINING
250-SIZE 42991616
250-STARTTLS
250-AUTH LOGIN PLAIN
250-DNS
250 ENHANCEDSTATUSCODES
STARTTLS
220 Go ahead

Никак не пойму, что дальше. Авторизоваться не дает, ввожу AUTH LOGIN, сразу пишет: подключение к узлу утеряно. Может, где-то вычитал, надо подключить с помощью опции StartTLS в OpenSSL для преобразования обычного подключения к зашифрованным? Застопорился на одном месте! Подскажите, кто знает! Вообще цель отправка письма через winsock!

Ответы

▲ 3

SMTP в чистом виде не позволяет работать с ssl и через телнет не получится пройти SSL авторизацию на сервере, телнет работает только с передачей и приемом текстовых сообщений. А если нужно отправить письма через winsock, то работа с телнет не требуется, там свои механизмы. Вот здесь статья про отправку через openssl, довольно наглядно описано что за чем, при желании можно разобраться.