原创,转载请注明原始网址!
使用qq邮箱注册WordPress系统会接收到一封带超链接的邮件。我们使用qq作为用户名,如下所示:
用户名:qq
要设置您的密码,请访问以下地址:
<http://localhost/wp/wp-login.php?action=rp&key=z6lR9lnf1AiI5H030hrN&login=qq>;
http://localhost/wp/wp-login.php
点击设置密码链接之后会出现如下界面:
提示“您的密码重设链接无效,请在下方请求新链接。”
实际上WordPress发送的链接没有问题,问题出在qq邮箱在处理带有“http://”的超链接时会把其中的原字符转换成转义字符,例如:把“&”转换成“&”,把“>”转换成“>”。于是就导致了链接无效,这是qq邮箱的一个BUG,使用163邮箱就不会发生这种问题。
解决办法:
将链接中的“http://”删除。
有两个文件的代码需要修改:wp-login.php和wp-includes/pluggable.php。
wp-login.php文件中的代码用于找回密码,wp-includes/pluggable.php文件中的代码用于新用户注册。
1.修改WP根目录下的 wp-login.php文件
将
$message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . ">\r\n";
修改为:
$message .= str_replace("http://", "", network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n");
2.WP安装目录下的/wp-includes/pluggable.php文件
将:
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";
修改为:
$message .= str_replace("http://", "", network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n");
即两个文件代码去掉左右的<>,并将"http://"替换为空。
修改成功后收到的邮件没有“http://”,需要将链接复制到浏览器的地址栏进行访问。链接如下所示:
http://bbs.aiecnu.com/forum.php?mod=viewthread&tid=2271&extra=page%3D1
使用qq邮箱注册WordPress系统会接收到一封带超链接的邮件。我们使用qq作为用户名,如下所示:
用户名:qq
要设置您的密码,请访问以下地址:
<http://localhost/wp/wp-login.php?action=rp&key=z6lR9lnf1AiI5H030hrN&login=qq>;
http://localhost/wp/wp-login.php
点击设置密码链接之后会出现如下界面:
提示“您的密码重设链接无效,请在下方请求新链接。”
实际上WordPress发送的链接没有问题,问题出在qq邮箱在处理带有“http://”的超链接时会把其中的原字符转换成转义字符,例如:把“&”转换成“&”,把“>”转换成“>”。于是就导致了链接无效,这是qq邮箱的一个BUG,使用163邮箱就不会发生这种问题。
解决办法:
将链接中的“http://”删除。
有两个文件的代码需要修改:wp-login.php和wp-includes/pluggable.php。
wp-login.php文件中的代码用于找回密码,wp-includes/pluggable.php文件中的代码用于新用户注册。
1.修改WP根目录下的 wp-login.php文件
将
$message .= '<' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . ">\r\n";
修改为:
$message .= str_replace("http://", "", network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $user_login ), 'login' ) . "\r\n");
2.WP安装目录下的/wp-includes/pluggable.php文件
将:
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . ">\r\n\r\n";
修改为:
$message .= str_replace("http://", "", network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login') . "\r\n\r\n");
即两个文件代码去掉左右的<>,并将"http://"替换为空。
修改成功后收到的邮件没有“http://”,需要将链接复制到浏览器的地址栏进行访问。链接如下所示:
localhost/wpen/wp-login.php?action=rp&key=rxSjoNa8uRBpyFtWaYUr&login=qq