Ответы пользователя по тегу PHP
  • Как подключится к SMTP Yandex?

    @svsova Автор вопроса
    Техподдержка решила вопрос в 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 хост для подключения.


    Вот что вываливает тестовый скрипт при удачной отправке письма
    5ece0e271aa20037306272.jpeg

    Как это работает у меня.

    $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)

    Благодарю Всех кто откликнулся!!!
    Ответ написан
    Комментировать
  • Какие должны быть значение параметров для Авторизации OK?

    @svsova Автор вопроса
    Заработало! Указал параметр
    ... &scope=GET_EMAIL ...
    До этого параметр был пустым.
    Ответ написан
    Комментировать
  • Кто виноват сервер не тянет или скрипты надо допиливать?

    @svsova Автор вопроса
    Основная причина была - ограничение максимально возможных одновременных подключений к Apache.

    "server reached MaxClients setting, consider raising the MaxClients setting"


    Увеличил в 3 раза, и другие настройки сервера на эту же тему подправил.
    Сразу после устранения проблемы трафик вырос примерно +20% онлайн еще больше
    5e4e3c5f30a09385123300.png

    Другие предложения тоже рассмотрю, там придется похоже времени побольше потратить.

    Благодарю ВСЕХ за помощь!
    Ответ написан
    Комментировать