WordPress обновлен с 4.1 до 4.7, получил phpmailerException при сбросе пароля

Мы обновили WordPress с версии 4.1 до 4.7.3. Все работает, кроме почты, которая содержит новый пароль, когда пользователь сбрасывает пароль. Пароль все еще сбрасывается, но письмо с паролем сброса не получается, что делает невозможным вход в систему. Насколько мне известно, это единственная почта, которая не работает, регистрация почты и тому подобное все еще работает.

В коде не должно быть ничего плохого, он работал годами. Но что-то явно было испорчено при обновлении. При попытке отправить письмо возникает следующая ошибка.

PHP Fatal error:  Uncaught exception 'phpmailerException' with message 'Invalid address:  (setFrom) service' in /var/www/site-adress/public_html/wp/wp-includes/class-phpmailer.php:1023
Stack trace:
#0 /var/www/site-adress/public_html/wp/wp-includes/pluggable.php(352): PHPMailer->setFrom('service', 'WordPress', false)
#1 /var/www/site-adress/public_html/wp-content/themes/site/functions.php(320): wp_mail('dummy.mail...', 'Site: passwor...', 'Your new passwo...', 'From: service')
#2 [internal function]: {closure}('')
#3 /var/www/site-adress/public_html/wp/wp-includes/class-wp-hook.php(298): call_user_func_array(Object(Closure), Array)
#4 /var/www/site-adress/public_html/wp/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters('', Array)
#5 /var/www/site-adress/public_html/wp/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#6 /var/www/site-adress/public_html/wp/wp-admin/admin-ajax.php(101): do_action in /var/www/site-adress/public_html/wp/wp-includes/class-phpmailer.php on line 1023

Кто-нибудь знает, как это должно быть решено? Что эта информация означает? В чем проблема?

Спасибо, раньше времени.

0

Решение

Вы можете переопределить адрес электронной почты для этих писем, добавив в свою тему следующее functions.php:

add_filter( 'wp_mail_from', 'new_mail_from' );
add_filter( 'wp_mail_from_name', 'new_mail_from_name' );
function new_mail_from( $old ) {
return get_option( 'admin_email' );
}
function new_mail_from_name( $old ) {
return get_option( 'blogname' );
}

Затем используйте Settings > General внутри WordPress, чтобы изменить адрес электронной почты и имя сайта.

Спасибо PS ниже, кто разъясняет: этот код может быть сброшен в functions.php Файл темы КАК ЕСТЬ, без изменений. Затем вы используете интерфейс администратора WordPress для изменения адреса электронной почты отправителя (поле «Адрес электронной почты» на странице «Настройки»> «Общие»).

0

Другие решения

PHPMailer говорит, что не может отправить, потому что адрес «от», который вы просили его использовать, недействителен. Было установлено service, который никуда не денется. Вам нужно найти, где этот адрес установлен в вашей конфигурации WordPress, и обновить его до нужного адреса электронной почты, и тогда PHPMailer сможет работать.

0

Я должен был отключить плагины, чтобы он работал

0
По вопросам рекламы [email protected]