使PHP通过SMTP发信支持SSL

越来越多的邮件服务商强制要求SMTP必须使用SSL安全连接,PHP通过SMTP发信也需要支持SSL才能正常发信。不支持SSL的话,使用php通过SMTP发信的现象是:长时间卡死,通过fgets得不到服务器的响应,超时之后返回个false。

通过以下方法确认php环境是否支持SSL

在phpinfo()输出结果中,搜索“ssl”,如果看到如图这样的结果,就说明php环境支持SSL,如果没有找到就是不支持。



如果是php的命令行环境可以用这样的命令:

php -i | grep ssl

支持ssl和不支持ssl分别的执行结果如图:



如果你的php不支持SSL,那怎么让他支持呢?

如果是windows下的php,比较简单,就找到正在生效的php.ini文件,搜索openssl,找到这样的一行:

;extension=php_openssl.dll

将最前面的分号去掉,再重启就可以了。

如果是Linux下的php,就麻烦一些了,参考我以前写的另一篇文章:

《不重新编译PHP为PHP安装zlib扩展》http://yubosun.akhtm.com/tech/php-zlib.htm

虽然这是说zlib的,但openssl也是同样的道理。

 评论
  KLJLJL
 发表评论
姓   名: