@oculos

Почему imap_open выдает ошибку «SSL negotiation failed» при соединении без SSL?

Вызываю
imap_open("{myhost.com:143/imap}INBOX", "mylogin", "mypassword", 0, 0, ['DISABLE_AUTHENTICATOR' => ['GSSAPI', 'NTLM']]);
$err = imap_last_error();

Соединение не устанавливается, а переменная $err содержит ошибку:
"TLS/SSL failure for myhost.com: SSL negotiation failed"
  • Вопрос задан
  • 376 просмотров
Пригласить эксперта
Ответы на вопрос 2
Скорей всего клиент пытается сделать STARTTLS. Попробуйте сделать
% nc myhost.com 143
* OK IMAP4 ready
AAA CAPABILITY
* CAPABILITY IMAP4rev1 ID XLIST UIDPLUS UNSELECT MOVE LIST-STATUS STARTTLS LOGINDISABLED
AAA OK CAPABILITY completed

если увидите термы STARTTLS и LOGINDISABLED - это означает что сервер запрещает вход без TLS и клиент пытается сделать STARTTLS. Можете попробовать флаг /notls (но при LOGINDISABLED это не спасет) или /novalidate-cert - это с большой вероятностью спасет от проблем с TLS-хендшейком
Ответ написан
Комментировать
borisdenis
@borisdenis
Ленив и вреден...
Интернет предлагает коннектиться так:
imap_open("{mail.domain.com:143/novalidate-cert}INBOX", 'login', 'password')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы