phpmailer在服务器上不能正常发送邮件的解决办法

yipeiwu_com6年前服务器

phpmailer本身是一个很不错的开源邮件类,也非常的易用简单,就是偶尔会出现程序上传到服务器上不能发送邮件的情况,在之前也有同学问过我这个问题,当时的时候总是不以为然,今天终于让我碰上了,用phpmailer 在本地测试正常,上传到服务器上就不行了,当然了是用的SMTP方式,最终确定是fsockopen 函数惹的祸,因为安全原因fsockopen 和pfsockopen 经常被服务器端关闭。解决方法如下:

而代之的应该是 stream_socket_client()函数,不过他的参数有一点不一样。

应这样更改phpmailer 的 class.stmp.php文件:

$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

改为

$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

这里 PHP版本应高于 5.0 的,因为较早版本没有stream_socket_client()函数的。
OK ,问题解决了。

相关文章

同台服务器使用缓存APC效率高于Memcached的演示代码

复制代码 代码如下:<?php $memcachehost = 'localhost'; $memcacheport = '11211'; function microtime_f...

flask应用部署到服务器的方法

flask应用部署到服务器的方法

flask是我学习的第一个python的web框架,在应用flask写完一个应用后,当然是把它部署到我们的服务器上了。 首先,准备我们部署项目所需要的部分 1.完整的flask项目 2....

python使用socket创建tcp服务器和客户端

python使用socket创建tcp服务器和客户端。 服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复。 客户端,等待用户输入,回车后向服务器发送用户输入的内容。 分别...

在Windows服务器下用Apache和mod_wsgi配置Python应用的教程

最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。 修改pyth...

PHP连接Nginx服务器并解析Nginx日志的方法

php与nginx整合 PHP-FPM也是一个第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需要和PHP源码一起编译,也就是说PHP-FPM被编译到P...