wordporess禁用了mail()函数问题
wordpress通过邮件找回密码报错:
电子邮件未能发送,可能原因:您的主机禁用了mail()函数
方法一:可以联系客服,确认服务器是否开启 fsockopen 相关组件(我们全部服务器默认是开启的),利用服务器给您发件。
方法二:修改smtp,利用自己的邮箱SMTP给自己发件。
方法一:. 在网站的 /wp-Includes/ 目录下找到并打开 class-smtp.php 大概是 274-282 行的位置(不同版本WordPress可能行数不同),找到如下代码:
$this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context );
将此代码注释掉或者删除,然后修改为以下代码:
$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);
方法二:服务器还是无法发件的话,,在上面步骤完成的情况下继续添加如下代码,利用SMTP发件:
/** * 修复 WordPress 邮件发送” * 以QQ邮箱为例**/ function mail_smtp( $phpmailer ){ $phpmailer->From = "wangdachui@ip110.com"; //发件人 $phpmailer->FromName = "王大锤"; //发件人昵称 $phpmailer->Host = "smtp.qq.com"; //SMTP服务器地址 $phpmailer->Port = 25; //SMTP端口,常用的有25、465、587,具体谷歌百度 $phpmailer->SMTPSecure = ""; //SMTP加密方式,常用的有SSL/TLS,具体度娘搜一下 $phpmailer->Username = "zhangquandan@qq.com"; //邮箱帐号 $phpmailer->Password = *********; //邮箱密码 $phpmailer->IsSMTP(); //使用SMTP发送 $phpmailer->SMTPAuth = true; //启用SMTPAuth服务 } add_action('phpmailer_init','mail_smtp');
执行以上操作后您网站的邮件收发功能应该就可以实现了。
其实,找密码的办法还可以通过phpmyadmin,可以看这篇文章