PHPMailer_v5.1,SMTP Error: Could not authenticate 邮件错误信息SMTP Error: Could not authenticate.

2024-10-30 20:09:52
推荐回答(2个)
回答1:

  • 这个错误说明虚拟主机不支持PHPMailer默认调用的fsockopen函数,找到class.smtp.php文件,搜索fsockopen,代码如下:

  // connect to the smtp server

  $this->smtp_conn = @fsockopen($host,// the host of the server

  $port,// the port to use

  $errno,   // error number if any

  $errstr,  // error message if any

  $tval);   // give up after ? secs

  • 方法1:将fsockopen函数替换成pfsockopen函数

  首先,在php.ini中去掉下面的两个分号

  ;extension=php_sockets.dll

  ;extension=php_openssl.dll

  然后重启一下

      因为pfsockopen的参数与fsockopen基本一致,所以只需要将@fsockopen替换成                 @pfsockopen就可以了。

  • 方法2:使用stream_socket_client函数

  一般fsockopen()被禁,pfsockopen也有可能被禁,所以这里介绍另一个函数                       stream_socket_client()。

  stream_socket_client的参数与fsockopen有所不同,所以代码要修改为:

  代码如下 复制代码

  $this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno,  $errstr,            $tval); ok更多问题到问题求助专区http://bbs.houdunwang.com/

  http://houdunwang.com/lesson.html

回答2:

那代码应该没问题吧