gpt4 book ai didi

php - 如何检查端口 465 和 587 是否使用 PHP 开放?

转载 作者:IT王子 更新时间:2023-10-28 23:52:49 24 4
gpt4 key购买 nike

我正在尝试使用 PHPMailer 通过 SMTP 和 gmail 发送电子邮件。正在使用的确切脚本可在其他服务器上运行,但无法在该特定托管公司的服务器上运行。

我检查了 phpinfo(),它告诉我 allow_url_fopenon 并且没有 disabled_functions 喜欢 fopen 列出的。

脚本失败,它告诉我:

SMTP -> ERROR: Failed to connect to server: Connection timed out (110) 

否则

SMTP Error: Could not authenticate.

我假设这是因为它无法连接,因为这又在其他服务器上工作并且身份验证凭据正确。

所以我更一般地问,有没有一种方法可以使用 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 服务器,以防止垃圾邮件发送者转发垃圾邮件。

关于php - 如何检查端口 465 和 587 是否使用 PHP 开放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10127691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com