Техподдержка решила вопрос в 2 подхода. Вот вкратце.
При анализе проблемы обнаружили, что на сервере устаревшие корневые сертификаты, в результате чего SSL соединение к почтовым серверам Яндекса завершалось ошибкой, пример:
[root@name /]# echo | openssl s_client -servername smtp.yandex.ru -connect smtp.yandex.ru:465 2>&1 | grep 'Verify return code'
Verify return code: 20 (unable to get local issuer certificate)
[root@name /]#
Добавили корневой сертификат Яндекса в список доверенных на сервере. Сейчас проблем с защищённым соединением к их почтовым серверам не наблюдаем:
[root@name /]# echo | openssl s_client -servername smtp.yandex.ru -connect smtp.yandex.ru:465 2>&1 | grep 'Verify return code'
Verify return code: 0 (ok)
[root@name /]#
У меня
Немного изменилась ошибка.
Было
2020-05-25 19:59:25 SMTP ERROR: Failed to connect to server: (0)
Стало
2020-05-26 20:52:58 SMTP ERROR: Failed to connect to server: Connection refused (111)
2 этап ТП:
Произвели дополнительные настройки корневых сертификатов и указали в скрипте SMTP хост для подключения.
Вот что вываливает тестовый скрипт при удачной отправке письма
Как это работает у меня.
$mail->SMTPDebug = SMTP::DEBUG_SERVER;
$mail->isSMTP();
$mail->Host = 'smtp.yandex.ru';
$mail->SMTPAuth = true;
$mail->Username = 'noreply@mydomain.ru';
$mail->Password = 'пароль от ящика noreply@mydomain.ru';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
Да ёщё полезный сервис чтоб проверить свои настройки
https://www.smtper.net/ и понять что дело в хостинге а не в твоей голове ))
PS вот еще можно на PHP проверить подключение
var_dump(fsockopen("ssl://smtp.yandex.ru",465));
результат
resource(2) of type (stream)
если подключения нет пишет
bool(false)
Благодарю Всех кто откликнулся!!!