WordPress您的主机禁用了mail()函数 解决方法
由于最近建站频繁,有一个WordPress站竟然忘记了管理员账号与密码,在找回密码时,就有了题目一样的提醒,无奈只好折腾了一番,今天把分享给大家。
操作方法
- 01
首先开启 fsockopen,这里以IIS服务器为例,如果是虚拟主机,可以直接找客服开启。先远程到服务器,然后找到php.ini文件,如图所示。
- 02
打开php.ini文件,查找allow_url_fopen,使其值为On;然后再次查找extension=php_openssl.dll,去掉该句前面的分号,然后保存php.ini文件。
- 03
这一步要重启服务器,使设置生效,打开cmd,输入命令iisreset.
- 04
打开你现在使用的主题文件functions.php,以qq企业邮箱为例,在底部?>之前插入以下代码: add_action('phpmailer_init', 'mail_smtp'); function mail_smtp( $phpmailer ) { $phpmailer->FromName = '听风博客'; //发件人 $phpmailer->Host = 'smtp.exmail.qq.com'; //修改为你使用的SMTP服务器 $phpmailer->Port = 25; //SMTP端口 $phpmailer->Username = 'admin@gongshiku.com'; //邮箱账户 $phpmailer->Password = '*******'; //邮箱密码 $phpmailer->From = 'admin@gongshiku.com'; //你的邮箱 $phpmailer->SMTPAuth = true; $phpmailer->SMTPSecure = ''; //tls or ssl (port=25留空,465为ssl) $phpmailer->IsSMTP(); }
- 05
打开目录文件夹wp-includes,找到文件pluggable.php,打开文件搜索找到 $phpmailer->IsMail(); 替换成 $phpmailer->IsSMTP();
- 06
在wp-includes文件夹中,找到class-phpmailer.php文件,打开文件分别搜索找到 public $Mailer public $Host public $Port public $SMTPSecure public $SMTPAuth public $Username public $Password 如图中赋值
- 07
如果以上还不行的话,建议使用插件。