Поддержка Проблемы и решения перестал работать SMTP после обновления до 4.9.7

  • Вчера днем все работало. Сегодня пришло сообщение о том,что версия вордпресс обновилась. отправка писем по smtp не работает.
    Логи:
    Versions:
    WordPress: 4.9.7
    WordPress MS: No
    PHP: 5.6.36
    WP Mail SMTP: 1.3.3

    Params:
    Mailer: smtp
    Constants: No
    ErrorInfo: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    Host: smtp.yandex.ru
    Port: 465
    SMTPSecure: ssl
    SMTPAutoTLS: bool(true)
    SMTPAuth: bool(true)

    Server:
    OpenSSL: Yes
    Apache.mod_security: No
    SMTP Debug:
    2018-07-06 11:58:23 Connection: opening to ssl://smtp.yandex.ru:465, timeout=300, options=array (
    )
    2018-07-06 11:58:23 Connection: Failed to connect to server. Error number 2. «Error notice: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
    error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
    2018-07-06 11:58:23 Connection: Failed to connect to server. Error number 2. «Error notice: stream_socket_client(): Failed to enable crypto
    2018-07-06 11:58:23 Connection: Failed to connect to server. Error number 2. «Error notice: stream_socket_client(): unable to connect to ssl://smtp.yandex.ru:465 (Unknown error)
    2018-07-06 11:58:23 SMTP ERROR: Failed to connect to server: (0)
    2018-07-06 11:58:23 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
    У кого прошло обновление и кто пользуется отправкой писем через smtp проверьте у себя работоспособность пожалуйста.
    Ну и хотелось бы узнать в чем смысл проблемы.

    • Тема изменена 1 год, 3 мес. назад пользователем  savaxz.
Просмотр 15 ответов — с 1 по 15 (всего 15)
  • Модератор Yui

    (@fierevere)

    ゆい

    попробуйте переустановить WordPress кнопочкой из консоли (Консоль — Обновления)

    проблема не решена.

    Такая же проблема, думал что-то не так делаю, но нет. Ошибка и хоть убейся, такой же лог и Apache.mod_security: No. Хостинг Jino, на другом хостинге все работает.

    У кого такая же проблема:
    https://evert.meulie.net/faqwd/unable-to-send-emai
    Ну или чтобы не переходить по ссылке!
    Do you use WordPress plugins like WP Mail SMTP or Easy WP SMTP? And are you no longer to send email via SMTP with these plugins after updating to PHP 5.6 or higher?

    The problem may be in the SSL-certificate on the mail server. A check with http://www.checktls.com/perl/TestReceiver.pl?FULL will easily confirm/deny this.

    The recommended fix is of course to get a proper certificate on that mail server, but what if you can’t? Well… There is a quick/dirty fix:

    You can modify wp-includes/class-phpmailer.php. Search for:

    public $SMTPOptions = array();

    and replace this with:

    public $SMTPOptions = array(
    ‘ssl’ => array(
    ‘verify_peer’ => false,
    ‘verify_peer_name’ => false,
    ‘allow_self_signed’ => true
    )
    );

    Keep in mind that this mod will revert after each and every (manual/automated) WordPress update!

    Так это костыли, тем более поле обновления ВП снова надо править руками. У меня сайты на 2х хостингах, на одном работает на другом нет … Получается у яндекса и гугла проблема с сертификатами?

    • Ответ изменён 1 год, 3 мес. назад пользователем  kingstakh.

    ок.но если найдете другое решение проблемы,отпишите пожалуйста. у меня перестало работать после обновления wp.
    По крайней мере тот,способ,который я предложил он у меня лично рабочий.
    Надеюсь вы сможете тоже найти другие пути решения.
    У меня хостер ihc.ru проверил все, дал им пароль в дминку.Сказали,что не поняли в чем проблема рекомендовали делать откат.Но делать откат,сами понимаете. Муторно и нервно.

    • Ответ изменён 1 год, 3 мес. назад пользователем  savaxz.
    • Ответ изменён 1 год, 3 мес. назад пользователем  savaxz.
    • Ответ изменён 1 год, 3 мес. назад пользователем  savaxz.
    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    перестал работать SMTP после обновления до 4.9.7

    В списке изменений WordPress 4.9.7 нет ни одного хотя бы отдалённо связанного с отправкой почты.

    Возможно, проблема в обновлении плагина WP Mail SMTP до версии 1.3.3, которая также вышла три дня назад?

    ## [1.3.3] — 2018-07-05
    * Fixed: Compatibility with other plugins, that are using Google Service or Google Client classes.
    * Changed: Optimize code loading.

    1. Решает ли проблему откат до WordPress 4.9.6?
    2. Решает ли проблему откат до WP Mail SMTP 1.3.2?

    Решение данной проблемы возможно если добавить в /etc/ssl/cacert.pem
    один из корневых сертификатов. У меня пришлось добавить сертификат COMODORSADomainValidationSecureServerCA. После этого все заработало. Валидация сертификата стала проходить …

    Модератор Yui

    (@fierevere)

    ゆい

    это связано с системной связкой сертификатов используемой curl

    для подключения к серверам обновлений WordPress, имеется своя связка, которая настраивается через curl_setopt, а вот для всего остального используется системная в /etc/ssl/ca-certificates.crt

    Обычно добавлять туда что-то вручную не нужно. Достаточно обновить сертификаты используя обновления системного пакета предоставляющего их, через системный же менеджер пакетов.

    тут PHP затронут. Надо еще и PHP.ini проверить чтобы /etc/ssl/cacert.pem был прописан. Я обновил последний /etc/ssl/cacert.pem и не работала отправка. Только посли добавление промежуточного сертификата все заработало. И конечно PHP.ini

    
    curl.cainfo="/etc/ssl/cacert.pem"
    openssl.cafile="/etc/ssl/cacert.pem"
    
    Модератор Yui

    (@fierevere)

    ゆい

    добавлять промежуточные сертификаты — странное и ненужное действо.
    Каким корневым сертификатом подписан промежуточный? Этот корневой сертификат есть в связке ?

    А вообще, какой смысл использовать SMTP? Вам хостер запретил использовать стандартную функцию php sendmail?

    Ну насчет странного действия тут без вариантов. Почему тогда CURL не работает иначе?! Они нормальный промежуточный сертификат не принимают …

    По поводу php sendmail, как я понимяю его использование не дает подписывать письма DKIM, и в большенство случаев письма будут в «Спаме»

    Модератор Yui

    (@fierevere)

    ゆい

    Почему тогда CURL не работает иначе?! Они нормальный промежуточный сертификат не принимают

    тут скорее что-то с вашим хостингом или его настройками.
    Возможно нет корневого сертификата.

    По поводу php sendmail, как я понимяю его использование не дает подписывать письма DKIM

    вы не правильно понимаете PHP sendmail() просто отдает письма системному MTA через вызов команды определенной в sendmail_path
    Что дальше будет происходить с письмом — дело системного MTA, если он настроен на подписывание DKIM и прочие дела — все будет подписано. Если там не настроено ничего — соответственно. Опять же — хостинг.

    всем привет, возникла такая же проблема, удалось решить всё добавлением такого кода в functions.php темы:

    add_filter('wp_mail_smtp_custom_options', function( $phpmailer ) {
        $phpmailer->SMTPOptions = array(
    		'ssl' => array(
    			'verify_peer'       => false,
    			'verify_peer_name'  => false,
    			'allow_self_signed' => true
    		)
    	);
        return $phpmailer;
    } );

    подсмотрел здесь: https://gist.github.com/slaFFik/c1d7d4249f47da7195fb973109952090

    p.s.: понятно, что это не супер решение (костыль) — но хотя бы после обновления WP ничего не слетит и не нужно править файлы ядра )))

Просмотр 15 ответов — с 1 по 15 (всего 15)
  • Тема «перестал работать SMTP после обновления до 4.9.7» закрыта для новых ответов.