SMTP Error: Could not authenticate.解决方法

热度s:5738℃ 评论:3 发布时间:2017-04-18 收录:已收录

4.3之前版本BUG

新建的博客设置SMTP发信的时候,又遇到了曾经遇到的问题,记得当时遇到后折腾半天才找到解决半天

在class-smtp.php 200行找到了如下代码:

$socket_context = stream_context_create($options);
        //Suppress errors; connection failures are handled at a higher level
        $this->smtp_conn = @stream_socket_client(
            $host . ":" . $port,
            $errno,
            $errstr,
            $timeout,
            STREAM_CLIENT_CONNECT,
            $socket_context
        );

根据PHP Manual给出的两个函数帮助,可以将上面的代码转化为

$this->smtp_conn = fsockopen($host,$port,$errno,$errstr,$timeout);

记得需要将fsockopen函数打开,然后就可以发信正常了。

4.3之后的版本已经修复了该BUG,在class-smtp.php的247~297行便是做了更改的内容,由之前的单一的使用stream_socket_client函数改为了使用前利用function_exist函数判断函数可用性后再调用的方式.

新问题解决办法

装上插件后始终提示:SMTP Error: Could not authenticate.  身份验证失败。

刚开始以为又要改什么代码,因为我老站和新站一个服务器,我又是直接将老站的SMTP插件复制过来的,那么唯一需要改的就是WP本身的文件,于是我直接将老站的class-smtp.php复制过来替换,然而并没有什么卵用。。。

这就神奇了哈,2个站同服,那么问题不是出在服务器上,不是出在函数上,也不是出在代码上,难道是QQ?

打开QQ邮箱瞎点了半天终于让我找到解决办法了。。。

在QQ邮箱账户设置中:

SMTP Error: Could not authenticate.解决方法

SMTP Error: Could not authenticate.解决方法

不知道从什么时候开始,QQ邮箱改成这种了,坑爹的,这不验证失败才怪,原来密码根本不是邮箱密码,而是授权码,将这个授权码复制到SMTP插件中的密码那一栏,然后保存在测试发现,果断成功。。。满满的坑。。。

本文由 Mr.Wu 创作,除注明转载/出处外,均为本站原创,转载前请注明出处!

3条回应:“SMTP Error: Could not authenticate.解决方法”

  1. 止于至善说道:

    哇,非常感谢

  2. 0807说道:

    谢谢谢

  3. 姬小野说道:

    非常感谢! 果然解决了!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

顶部
护眼