Я пытаюсь программно получать электронные письма из Exchange 2003 по протоколу POP. В качестве доказательства концепции я пытаюсь подключиться с помощью openssl s_client.
Я запустил службу POP на своем сервере Exchange. Пытаюсь подключиться с помощью
openssl s_client -connect MYEXCHANGESERVER:995
возвращается
20303:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:
Пытаюсь
openssl s_client -connect MYEXCHANGESERVER:995 -starttls pop3
возвращается
CONNECTED(00000003)
write:errno=32
[ОБНОВЛЕНИЕ] В ответ на совет jj33, netcating (первоначально telneting) на сервере следующим образом:
nc -v MYEXCHANGESERVER 995
возвращается
Connection to MYEXCHANGESERVER 995 port [tcp/pop3s] succeeded!
Затем соединение автоматически закрывается.
Netcating на порт 110 (небезопасный pop) возвращает
+OK Microsoft Exchange Server 2003 POP3 server version 6.5.7638.1 (MYEXCHANGESERVERNAME) ready.
Для каждой команды, которую я пытаюсь, я возвращаюсь
-ERR Protocol error.
[/ОБНОВИТЬ]
Простите новичка - я просто дико снимаю в темноте, не имея представления о том, что мне делать. Раньше я читал свой GMail через openssl s_client, и настройка этих сертификатов была простой и хорошо документированной. Я мог бы предположить, что мне также нужно настроить здесь какой-то сертификат, и я немного посмотрел на использование файла .pfx. Но, как я уже сказал, я здесь совершенно потерялся.
Благодарен за любой совет,
Андреас
Я знаю, что это было 7 лет назад, но я только что нашел решение той же проблемы. Решение состояло в том, чтобы передать -crlf
флаг s_client
.
openssl s_client -crlf -connect MYEXCHANGESERVER:995
Отбросьте флаг starttls - вы не используете TLS более 110, поэтому этот флаг сломает все.
В качестве шага по устранению неполадок попробуйте подключиться напрямую к 995 через telnet и посмотрите, отображается ли баннер в виде открытого текста. У вас может либо вообще не быть шифрования, либо у вас может быть настроено обновление до encryptiono в протоколе (я бы сказал STARTTLS в SMTP, не уверен, что это за глагол в POP)