• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >IIS教程 > phpmailer发送邮件 SMTP Error: Could not authenticate 错误

phpmailer发送邮件 SMTP Error: Could not authenticate 错误

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含phpmailer smtp,phpmailer,phpmailer官方下载,phpmailer下载,phpmailer使用等服务器相关知识,网友希望可以进行参考

今天在使用phpmailer发送邮件时居然提示SMTP Error: Could not authenticate,这个感觉是smtp设置的问题,下面我在网上找到了几种解决办法。

今天在使用phpmailer发送smtp邮件时提示 SMTP Error: Could not authenticate 错误,其中密码帐号都是正确的,邮箱也设置开启了SMTP功能。

上谷歌百度了一遍,有的说是服务器禁用了端口,有的说把class.phpmailer.php中的

 代码如下 复制代码

function IsSMTP() {
$this->Mailer = 'smtp';
}改为

function IsSMTP() {
$this->Mailer = 'SMTP';
}

测试以后还是不行,心中郁闷的一米。最后在一篇博客中找到了解决方法,先分享出来让更多遇到同样问题的人能得到帮助!


这个错误说明虚拟主机不支持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);

这样就可以了。


如果上面办法还是没有解决可能是邮箱自动过滤你机器自动登录邮箱发邮件了哦,我是使用下面办法解决的

刚开始使用的qq的帐号,提示上面错误。换成新注册的163帐号可以正常发送。


之后换了一个qq等级比较高的帐号,这下可以正常发送,没有报任何错误。

因为收件人用的是qq邮箱帐号,所以发件帐号用qq的邮箱比较好,这样发送过多不会轻易的被拦截或判为垃圾邮件。

所以结论就是配置中使用一个qq等级比较高的帐号(我的一个小号等级2个月亮可以正常使用,当然等级越高越好,)

ps:也要查看邮箱中“设置邮件地址黑名单”及“收信规则”,有时系统会自动将一些邮箱自动加入黑名单的

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • phpmailer发送邮件 SMTP Error: Could not authenticate 错误

相关文章

  • DJI Lightbridge 深度技术评测
  • php mail发邮件标题中文乱码的问题解决办法
  • linux tun/tap设备的实现(kennel 3.10)
  • Apache Cayenne 3.0 Beta1 发布
  • Apache Hadoop 2.3.0 发布
  • CentOS 7.1下rpm安装 MySQL
  • 本机可以访问IIS发布的网站,但局域网不能访问
  • 避免危害DNS服务器安全部署的七宗罪
  • 云部署虚拟化 如何减少需面对的安全问题
  • centos7搭建DHCP简要服务器

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Apache Commons Lang 3.3.2 发布
    • Centos7下安装apache过程总结
    • Ubuntu自带的FTP服务器vsftpd技巧
    • 网络虚拟化与下一代服务器:谁是赢家?
    • IIS在Windows XP下不ASP不执行的解决办法
    • [转]建立大容量基于Web的Email系统
    • DNS服务器架设:winmydns
    • 聚焦云数据中心安全 浪潮将推云主机安全产品解决方案
    • Apache OpenOffice 4.1.0 正式版发布
    • phpmailer发送邮件 SMTP Error: Could not authenticate 错误

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有