LINUX.ORG.RU

stream_socket_client(): unable to connect to ssl://smtp.yandex.ru:465

 


0

1

Всем привет, возникла очень странная проблема, имеется докер контейнер, в нем крутится всякое. И вот одно из всякого работает как-то странно, перестало работать создание сокет соединение к смтп серверу яндексу, пример кода:

<?php
$fp = stream_socket_client("ssl://smtp.yandex.ru:465", $errno, $errstr, 10);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    echo "opened";
}
?>

Собственно, попытка отработать страницу с этим кодом в браузере выкидывает


Warning: stream_socket_client(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/test.php on line 2

Warning: stream_socket_client(): unable to connect to ssl://smtp.yandex.ru:465 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /var/www/test.php on line 2
php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

При этом отработка скрипта с консоли работает отлично, телнет говорит, что все тоже хорошо, и даже так все работает:

openssl s_client -host smtp.yandex.ru -port 465

Работает все через nginx + php-fpm, php 5.6, openssl активен Не понимаю куда копать, есть идеи?


Ответ на: комментарий от Deleted

По ip сертификат не даст, с ресолвом было все в порядке (ну вроде днс от яндекса, хотя, возможно, мы о разных вещах), сделал костыль в виде ip адреса прописанного в hosts на smtp, в общем как-то получалось так, что с консоли контейнера по домену все норм, а с веб не резолвилось, теперь нормально, хотя изначальную причину я так и не понял

USF ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.