Итак, есть веб сервер, с которого не удается подключиться к SMTP коннектору Exchange.
Коннектор Exchange протестирован.
220 mail-c.prin.local Microsoft ESMTP MAIL Service ready at Mon, 21 Sep 2020 12:25:29 +0300
ehlo
250-mail-c.prin.local Hello [84.51.90.1]
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH NTLM LOGIN
250-8BITMIME
250-BINARYMIME
250 CHUNKING
auth login
334 VXNlcm5hbWU6
***********
334 UGFzc3dvcmQ6
***********
235 2.7.0 Authentication successful
MAIL FROM: psa@prin.ru
250 2.1.0 Sender OK
RCPT TO:s.popov.mail@gmail.com NOTIFY=success,failure
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
Subject: Test from 704
This is 704
.
250 2.6.0 <c7f3f24f-c333-4a58-9d71-4017fdae71bf@mail-c.prin.local> [InternalId=40969693036640, Hostname=mail-c.prin.local] 1044 bytes in 1:04.036, 0.016 KB/sec Queued mail for delivery
quit
221 2.0.0 Service closing transmission channel
Но программеры сервера говорят
Я свёл ситуацию к простому тестовому скрипту:
ini_set("display_errors", true);
error_reporting(6135);
$strict = true;
$context1 = stream_context_create(array(
'ssl' => array(
'verify_peer' => $strict,
'verify_peer_name' => $strict
)
));
$resource = stream_socket_client(
"ssl://mail.prin.ru:704", $errno, $errstr, 5,
STREAM_CLIENT_CONNECT, $context1
);
var_dump($resource);
и в результате вижу:
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Вам нужно передать ошибку администратору сервера и попросить отладить соединение к вашему серверу
Собственно что вижу я stream_socket_client(): SSL operation failed with code 1 это ошибка невалидного сертификата, но сертификат на сервер у меня покупной, валидный.
WTF