2

我正在做一个我自己的 SMTP 服务器的项目。这非常有效,但有一点问题。

当我在我的开发机器上运行我的 SMTP 服务器并有一个 php 脚本将电子邮件或远程登录从我的本地计算机发送到本地 smtp 服务器时,它工作正常,我的程序接收到 SMTP 消息并发送相关响应。

然后我将程序复制到服务器上并运行我的 smtp 服务器,当我从服务器远程登录到本地 smtp 服务器telnet localhost 25时,它可以工作。

如果我然后尝试通过同一网络上的远程 PC 连接到我的 smtp 服务器并尝试远程登录到它,我会得到Connecting to 192.168.1.74 (this is the address of the server)...could not open connection to the host, on port 25: connect failed,如果我运行 php 脚本http://192.168.1.74/send-mail.php它会失败。

在 smtp 服务器代码上,当我绑定套接字时,我尝试绑定到端口 25 上的 127.0.0.1 和 192.168.1.74,但这没有区别。

为什么这不能从与服务器建立连接的远程 PC 上工作,但在本地却可以正常工作。

感谢您的任何帮助,您可以提供。

4

2 回答 2

1

有几个人在这里暗中刺伤,但是:

  1. 服务器是否运行了防火墙?如果是这样,您是否对端口 25 进行了适当的例外处理?

  2. 远程 PC真的在同一个网络上(即同一个子网)吗?如果您之间有路由器,则必须适当地转发端口。

于 2012-07-14T16:12:11.813 回答
1

发现问题出在哪里,我很笨,当我将网卡设置为静态时,我忘记添加默认网关。现在我已经完成了它现在按预期工作。

感谢大家的帮助和建议。

于 2012-07-14T20:32:04.673 回答