Модератор
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х хостингах, на одном работает на другом нет … Получается у яндекса и гугла проблема с сертификатами?
-
Ответ изменён 6 лет, 2 месяца назад пользователем kingstakh.
перестал работать 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 ничего не слетит и не нужно править файлы ядра )))