来源:自学PHP网 时间:2014-11-27 22:16 作者: 阅读:次
[导读] PHPMailer是一个邮件发送插件有很多朋友使用它来发邮件,但也有不少朋友在使用期PHPMailer发邮件时就碰到SMTP 错误:无法连接到 SMTP 主机错(www phpfensi com)误了,出现这种问题我们从几个点来分...
PHPMailer发送邮件”SMTP 错误:无法连接到 SMTP 主机“PHPMailer是一个邮件发送插件有很多朋友使用它来发邮件,但也有不少朋友在使用期PHPMailer发邮件时就碰到”SMTP 错误:无法连接到 SMTP 主机“错(www.phpfensi.com)误了,出现这种问题我们从几个点来分享,一个是邮箱配置有问题,另一个是我们的php.ini环境中有些函数没开启导致的,下面我来给各位详细介绍一下问题的排除技巧. 原因分析:出现这个问题说明无法解析 SMTP 主机 <主机 id> 的名称. 解决办法,这个要看邮箱支付不支持pop3发送与接收邮件这个可以邮件官方看看,如QQ邮件. phpmailer error SMTP Error: Could not connect to SMTP host Could not instantiate mail function 弄了半天,原来是不同邮件系统要求的smtp请求不同,但是都允许大写,有些不支持小写,比如网易,腾讯的邮箱. 原来的设置:
把smtp改成大写就可以了: $mail->Mailer = "SMTP"; 分析问题: 还有大家就是使用了空间而不是服务器这样有可能像fsockopen、pfsockopen都禁用了,因为phpmailer需要使用fsockopen、pfsockopen才可以发邮件所以就会有问题了. 解决办法:找到class.smtp.php文件,大约在文件的128行吧,有这样一段代码:
方法1:将fsockopen函数替换成pfsockopen函数 因为pfsockopen的参数与fsockopen基本一致,所以只需要将@fsockopen替换成@pfsockopen就可以了. 方法2:使用stream_socket_client函数 一般fsockopen()被禁,pfsockopen也有可能被禁,所以这里介绍另一个函数stream_socket_client(). stream_socket_client的参数与fsockopen有所不同,所以代码要修改为:
这样就可以了. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com