Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress从4.1->4.7更新,重置密码时出现phpmailerException_Php_Wordpress_Phpmailer_Updates_Reset Password - Fatal编程技术网

Wordpress从4.1->4.7更新,重置密码时出现phpmailerException

Wordpress从4.1->4.7更新,重置密码时出现phpmailerException,php,wordpress,phpmailer,updates,reset-password,Php,Wordpress,Phpmailer,Updates,Reset Password,我们将Wordpress从4.1.0升级到4.7.3。除了在用户重置密码时包含新密码的邮件之外,其他一切都正常工作。密码仍然被重置,但没有使用重置密码获取邮件,因此无法登录。据我所知,这是唯一失败的邮件,注册邮件等仍然有效 代码应该没有任何问题,它已经运行了多年。但很明显,在更新时有些事情搞砸了。尝试发送邮件时,出现以下错误 PHP Fatal error: Uncaught exception 'phpmailerException' with message 'Invalid addres

我们将Wordpress从4.1.0升级到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
有人知道应该如何解决这个问题吗?这些信息意味着什么?问题出在哪里


提前谢谢。

PHPMailer说它无法发送,因为您要求它使用的发件人地址无效。它被设置为服务,这是不会去任何地方。您需要找到该地址在Wordpress配置中的设置位置,并将其更新为正确的电子邮件地址,然后PHPMailer将能够工作。

您可以通过将以下内容添加到主题函数中来覆盖这些电子邮件的电子邮件地址。php:

然后,在WordPress中使用Settings>General更改电子邮件地址和站点名称


感谢下面的PS澄清:此代码可以按原样放入functions.php主题文件,无需任何修改。然后,您可以使用WordPress管理界面更改“设置”>“常规”页面上的“发送电子邮件地址”电子邮件地址字段。

我必须禁用插件才能使其正常工作。

您是一个救命恩人。为了向任何与我类似缺乏技能或知识的人澄清,如果他们碰巧遇到这种情况,可能会使用它,不需要对Patrick的代码进行任何更改。不要用实际的电子邮件或其他东西替换新的邮件。代码和Patrick写的一模一样。我把它放在文档中最后一个函数的后面,如果有什么不同的话,它就工作了。再次感谢你。哈哈,好吧。非常感谢。你说得对,我自己也没办法弄明白。感谢您让我意识到问题所在,尽管我无法在配置文件中找到插入位置来放置正确的电子邮件地址。我假设我需要一个新的define,所以这是一个谷歌搜索。按照Patrick的建议去做并超越它有什么好处吗?无论如何,非常感谢您的意见。请在您的答案中解释更多,或将其放在评论中
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' ); 
}