我试图使用PHPMailer发送电子邮件与SMTP和Gmail。 确切的脚本正在使用其他服务器,但它不是在这个特定的托pipe公司的服务器上工作。
我已经检查了phpinfo()
,它告诉我, allow_url_fopen
已on
,并没有像fopen
列出的disabled_functions
。
脚本失败,它告诉我:
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
要不然
SMTP Error: Could not authenticate.
我假设这是因为它无法连接,因为再次在其他服务器上的这项工作和身份validation凭证是正确的。
所以我更一般地问,有没有一种方法可以使用PHP或jailshell ssh
来检查端口是否实际打开?
您可以使用fsockopen
检查打开/可用的端口:
$fp = fsockopen('127.0.0.1', 25, $errno, $errstr, 5); if (!$fp) { // port is closed or blocked } else { // port is open and available fclose($fp); }
…其中5
是直到呼叫失败的超时秒数。
这可能是由于您的托管服务提供商阻止您连接到出站套接字和/或特定端口的防火墙问题。 请记住,阻止出站SMTP端口是非常常见的安全配置。 当天,只有25
端口被封锁,但我开始看到越来越多的SSL变种被封锁。
大多数提供商和托管公司将只允许您连接到自己的SMTP服务器,以防止垃圾邮件发送者传播垃圾邮件。