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,可以看这篇文章

免实名域名注册