很多使用wordpress后台找回密码时都会遇到这样的提示“无法发送电子邮件。 可能原因:您的主机禁用了mail()函数。”其实遇到这样的问题很好处理,我用的Qq邮箱,这里就以QQ邮箱为例。
第一步:找到wp-content/themes/你的主题/,在主题下找到文件“functions.php”
第二步:下载该文件到本地电脑,用Dreamweaver打开在“functions.php”的最后插入以下代码即可完成
[php]function mail_smtp( $phpmailer ){
$phpmailer->From = "82143303@QQ.com"; //发件人
$phpmailer->FromName = "密码找回"; //发件人昵称
$phpmailer->Host = "smtp.qq.com"; //SMTP服务器地址
$phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,
$phpmailer->SMTPSecure = "465"; //SMTP加密方式,常用的有SSL/TLS
$phpmailer->Username = "82143303@qq.com"; //邮箱帐号
$phpmailer->Password = "*********"; //邮箱密码
$phpmailer->IsSMTP(); //使用SMTP发送
$phpmailer->SMTPAuth = true; //启用SMTPAuth服务
}
add_action(‘phpmailer_init’,’mail_smtp’);
function reset_password_message( $message, $key ) {
if ( strpos($_POST[‘user_login’], ‘@’) ) {
$user_data = get_user_by(’email’, trim($_POST[‘user_login’]));
} else {
$login = trim($_POST[‘user_login’]);
$user_data = get_user_by(‘login’, $login);
}
$user_login = $user_data->user_login;
$msg = __(‘你正在请求重设如下帐号的密码:’). "\r\n\r\n";
$msg .= network_site_url() . "\r\n\r\n";
$msg .= sprintf(__(‘用户名:%s’), $user_login) . "\r\n\r\n";
$msg .= __(‘若这不是您本人操作,请忽略本邮件。’) . "\r\n\r\n";
$msg .= __(‘如有疑问请联系QQ:82143303 或电话联系:13XXXXXX’ ). "\r\n\r\n";
$msg .= __(‘要重置您的密码,请打开下面的链接:’). "\r\n\r\n";
$msg .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), ‘login’) ;
return $msg;
}
add_filter(‘retrieve_password_message’, reset_password_message, null, 2);[/php]
【特别注意:“functions.php”文件中不要有空格】
第三步:将“functions.php”文件重新上传并覆盖即可!
使用本方法不会出现“抱歉,该key似乎无效。”的提示”希望本代码对你有所帮助。如果使用本代码中还有什么疑问欢迎咨询。
本文由成都seo谭波原创,转载请注明出自:http://www.9vvv.net/183.html