php could not authenticate,SMTP Error: Could not authenticate.解决方法

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邮箱账户设置中:

d3127af4d742b0a51a7815a49a54dd4c.gif

d3127af4d742b0a51a7815a49a54dd4c.gif

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值