我正在使用 Windows Server 2019 设置新的专用服务器。它正在替换基于 Windows Server 2008 R2 的旧服务器。我已经在旧服务器上运行了内置 SMTP 服务器,没有任何问题。我已经将新服务器设置为充当 SMTP 服务器,使用我自己设置旧服务器时的笔记,以及在线仔细检查说明。基本上按照这里的说明:
http://www.vsysad.com/2017/05/install-and-configure-smtp-server-on-windows-server-2016/
我遇到的问题是电子邮件不会离开 C:\inetpub\mailroot\Queue 并且永远不会到达收件人。Windows 事件日志包含以下警告:
事件 4006,smtpsvc
“由于以下原因,向主机 '204.79.197.212' 传送消息时失败,原因如下:远程服务器未响应连接尝试。”
以上只是使用 Hotmail 目标地址的示例。尝试发送到其他域上的地址时会收到相同类型的消息。
我试过的:
上面的最后一项还与我注意到的一件有趣的事情有关,即事件 4006 消息中列出的 IP 地址不是 MX 记录中列出的 IP 地址之一。它是实际 hotmail.com 域的 IP 地址。那么,为什么它会尝试联系 hotmail.com 而不是 MX 记录中列出的地址之一?
为了进一步调查,我使用 Telnet 发送到我自己域中的电子邮件。果然,我在日志中发现了一个 4006 事件说:
“由于以下原因,向主机“[我的域的 IP]”传送消息时,向远程域“[我的域]”传送失败:连接已被远程主机断开。”
SMTP 服务器似乎再次尝试连接到我域的 IP 和端口 25,而不是连接到 MX 记录中指定的地址。
到此为止。也许我在这里误解了一些东西,但看起来 Windows 的 SMTP 服务器正试图直接在端口 25 上连接到电子邮件地址的域(忽略 MX 记录)......关于我可能做错了什么的任何想法或者我应该如何解决这个问题?
编辑:找到了解决方法以及触发问题的原因。看我下面的回答。
我一直在调查这个问题,现在认为它是 Windows Server 2019 中的一个错误。事实上,我已经找到了一个解决方法,以及如何 100% 确定地重现这个问题。
如果 SMTP 服务启动类型设置为“自动”(即启动时立即启动),邮件将无法正确发送。但是,如果 SMTP 服务设置为手动启动,然后从 services.msc 或从 IIS6 管理器手动启动,则电子邮件将离开队列并传递给收件人。
如果该服务使用“自动”启动,则任何发送电子邮件的尝试都将始终导致电子邮件卡在队列中,并且将事件 4006(有关详细信息,请参阅初始帖子)写入事件日志.这在我的测试中是 100% 可重现的。
解决方法是将启动类型设置为“自动(延迟启动)”。如果我被正确通知,这将导致 SMTP 服务在最后一个“自动”服务启动后 2 分钟启动。这不是最佳解决方案,但暂时可以。
为了完整起见,以下是重现问题的分步说明:
注意:重现该问题可能不需要步骤 2 到 6,但这是我一直在使用的基本设置。
归档时间: |
|
查看次数: |
18610 次 |
最近记录: |