0

我们将 Wordpress 从 4.1.something 更新到 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

有谁知道这应该如何解决?这个信息是什么意思?问题出在哪里?

谢谢,提前。

4

3 回答 3

1

您可以通过将以下内容添加到您的主题中来覆盖这些电子邮件的电子邮件地址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 > GeneralWordPress 内部更改电子邮件地址和站点名称。

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

于 2017-03-24T14:03:33.620 回答
0

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

于 2017-03-24T13:45:14.940 回答
0

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

于 2017-03-31T11:40:28.197 回答