Подтвердить что ты не робот

Как разговаривать с сервером IMAP в Shell через OpenSSL

Я хочу отправить команды IMAP через терминал Mac OS X на сервер и получить ответ. Я могу подключиться к серверу с помощью этой строки:

openssl s_client -connect imap.gmail.com:993

И я могу успешно войти в систему:

? LOGIN m.client2 passwordhere

Но все остальные команды не работают, никакого ответа с сервера. Я попробовал, например, следующее:

? LIST "" "*"
? SELECT INBOX
4b9b3361

Ответ 1

Обнаружена ошибка с помощью друга:

openssl s_client -connect imap.gmail.com:993 -crlf

-crlf является критическим

Ответ 2

Попробуйте это, это должно сработать для вас (замените первую строку вашим

openssl s_client -connect imap.gmail.com:993 -crlf

команда (обязательная -crlf) & type только синяя часть):

enter image description here

Ответ 3

Прежде всего, imap активирован в вашей учетной записи gmail??? если вы успешно авторизуетесь, значит ssl работает нормально. что код возврата, который вы получаете за

a1 Команда LOG.m.client2 passwordhere.

попробовали ли вы команду

a1 возможность

попробуйте другие альтернативные команды, поскольку не все IMAP-серверы реализуют все команды IMAP. Я столкнулся с этой проблемой, пока я создавал инструменты переноса данных для разных поставщиков, таких как gmail rediffmail yahoo...

Ответ 4

Еще несколько вариантов: вы можете подключаться к серверу, предлагающему STARTTLS в этом случае вы можете сказать openssl, чтобы продолжить переговоры, вам нужно указать, какой протокол вы используете (выберите из pop3, imap, smtp, ftp); опция -crlf была упомянута другими, и я также нахожу -showcerts полезной, если я отлаживаю конфигурацию SSL/TLS. Так, например, вы можете закончить,

 openssl s_client -showcerts -connect target.server.name.here:143 -starttls imap

Дополнительные параметры с соответствующей справочной страницей, если у вас есть это,

man s_client