我刚刚设置了一个 Windows 2008 R2 服务器,并正在尝试启动和运行一个基本的邮件服务器,以便我可以从我的应用程序发送电子邮件。
我在 IIS6 中设置了一个虚拟 SMTP 服务器,并尝试对端口 25 进行本地 telnet,这似乎运行正常。此阶段没有出现任何错误,我可以看到邮件消息出现在队列文件夹中。
问题是邮件永远不会离开队列文件夹。然后我尝试通过 telnet 连接到端口 25 上的远程邮件服务器,但无法连接:-
telnet 209.85.227.27 25
Could not open connection to the host, on port 25: Connection failed)
我检查了防火墙,发现默认设置允许所有传出的 TCP 流量,没有任何限制。我甚至为传出的端口 25 流量设置了一条特定规则,但无济于事。
然后我运行了 SmtpDiag.exe 命令
.\SmtpDiag.exe [email protected] [email protected]
并收到以下输出
Searching for Exchange external DNS settings.
Computer name is WIN-SERVERNAME.
Failed to connect to the domain controller. Error: 8007054b
Checking SOA for gmail.com.
Checking external DNS servers.
Checking internal DNS servers.
SOA serial number match: Passed.
Checking local domain records.
Checking MX records using TCP: gmail.com.
Checking MX records using UDP: gmail.com.
Both TCP and UDP queries succeeded. Local DNS test passed.
Checking remote domain records.
Checking MX records using TCP: gmail.com.
Checking MX records using UDP: gmail.com.
Both TCP and UDP queries succeeded. Remote DNS test passed.
Checking MX servers listed for [email protected].
Connecting to gmail-smtp-in.l.google.com [209.85.227.27] on port 25.
Connecting to the server failed. Error: 10060
Failed to submit mail to gmail-smtp-in.l.google.com.
我还能进行其他诊断来确定是防火墙还是其他什么原因?我已经删除了防病毒软件,以确保问题不是由它引起的。如果能提供任何建议,我将不胜感激。
答案1
这很可能是 ISP 的防火墙。作为对您自己的防火墙设置的最后检查,您可以将其设置为禁用,但如果已经打开它并设置了例外,那么没有其他“windows”原因导致您无法 telnet 到端口 25
答案2
如果您要设置邮件服务器,则需要固定 IP 地址和相关的 DNS 设置。否则,您看起来就像在您的 ISP 网络上运行的任何其他垃圾邮件机器人一样。您需要您的 ISP 的帮助,因为他们需要为您的 IP 地址设置反向 DNS 条目。
如果您没有固定地址,请使用 ISP 的中继。我不知道 Windows 的咒语。查找路由选项卡,其中有一个使用 DNS 路由的单选按钮。选择通过地址路由传出消息的选项。在此处输入您的 ISP 的电子邮件中继。帮助可能会在智能主机下参考此内容。
恭喜您的 ISP 禁止向端口 25 发出连接。我希望更多的 ISP 也这样做。