SMTP Error: Could not connect to SMTP host

PHPMailer是一个很是棒的开源邮件类,使用也很是简单,可是对于虚拟主机来讲,每每要受到各类限制。刚才我在虚拟主机上使用PHPMailer就遇到一个“SMTP Error: Could not connect to SMTP host”错误。下面介绍两种解决办法:php

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

使用stream_socket_client函数tcp

通常fsockopen()被禁,pfsockopen也有可能被禁,因此这里介绍另外一个函数stream_socket_client()。函数

stream_socket_client的参数与fsockopen有所不一样,因此代码要修改成:this

$this->smtp_conn = stream_socket_client("tcp://".$host.":".$port, $errno,  $errstr,  $tval);blog

这样就能够了。class

相关文章
相关标签/搜索