你好:) 我的PHP功能有问题。我无法理解为什么它不起作用,这对我的项目来说是一个问题。
背景:
我有Joomla并希望它通过“SMTP服务器”选项发送电子邮件。它不起作用,返回“无法连接到smtp主机”
我在谷歌搜索过这个问题,我找到的所有解决方案都不适用于我。所以我决定进入代码,看看发生了什么。当代码调用方法“fsockopen()”时,会出现问题,这是一种内置的PHP方法。此方法表示与主机的连接超时。
哪里变得有趣:我可以在同一台计算机上与该主机连接并发送电子邮件,其中包含与邮件客户端(Evolution)完全相同的参数(因此这不是打开端口或其他问题)。
方法是:
fsockopen($host, $port, $errno, $errstr, $tval);
返回使用的参数和错误:
$host : ssl://smtp.laposte.net.
$port : 25
$errno : 110
$errstr : Connection timed out
$tval : 10
一些技术信息:
PHP版本:5.2.14
套接字支持:启用
操作系统:虚拟机(VMWare)下的Ubuntu 10.10
端口:端口25(smtp)在虚拟机上和虚拟机主机上打开。
如果有人知道这个功能是如何工作的以及为什么它无法连接,那么它将对我有所帮助
提前谢谢,
达明
答案 0 :(得分:1)
我看到你正在使用ssl ...你是否在php.ini中启用了OpenSSL?
如果安装了OpenSSL支持,您可以在主机名前加上ssl://或tls://,以使用通过TCP / IP的SSL或TLS客户端连接来连接到远程主机。