>  기사  >  php教程  >  【PHP邮件】phpmailer开源邮件类 部署到服务器上不能发送邮件

【PHP邮件】phpmailer开源邮件类 部署到服务器上不能发送邮件

WBOY
WBOY원래의
2016-06-06 19:44:59758검색

之前做了一个网站,用户注册时能够发送邮件给他,用的就是phpmailer开源邮件类,一直很不错的,在本地测试也很正常,可是等到正式部署到阿里云服务器时,问题出现了,注册时不能接收邮件,于是查找各种可能性,防火墙也是关掉的,还是不可以,又在网上各种搜

之前做了一个网站,用户注册时能够发送邮件给他,用的就是phpmailer开源邮件类,一直很不错的,在本地测试也很正常,可是等到正式部署到阿里云服务器时,问题出现了,注册时不能接收邮件,于是查找各种可能性,防火墙也是关掉的,还是不可以,又在网上各种搜,终于找到了一个方法,是fsockopen  函数的问题。


在phpmailer下的class.stmp.php文件中找到


    // 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


这一段代码,将其改为

    // connect to the smtp server
    $this->smtp_conn = @stream_socket_client($host.':'.$port,    // the host of the server
                                 $errno,   // error number if any
                                 $errstr,  // error message if any
                                 $tval);   // give up after ? secs



保存,然后记得代码更新上传再次测试就OK啦

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.