![虚拟 SMTP 服务器不中继邮件](https://linux22.com/image/490935/%E8%99%9A%E6%8B%9F%20SMTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8D%E4%B8%AD%E7%BB%A7%E9%82%AE%E4%BB%B6.png)
在我们的局域网中,我们有一个安装了 IIS 7 的开发箱,其中安装了 SMTP 虚拟服务器。所有开发应用程序都会将外发邮件发送到此虚拟 SMTP 服务器,然后该服务器会将邮件转发到我们的内部 Exchange 2007 服务器。或者,至少以前是这样。我们的网络工程师最近用另一台 Exchange 服务器替换了我们的 Exchange 服务器,现在邮件不再转发了。
奇怪的是,在我们的生产环境中,我们有一个类似的设置。所有出站邮件都发送到虚拟 SMTP 服务器(相同版本的 IIS),该服务器将邮件转发到同一 Exchange 服务器,但仅通过 Internet。出站邮件在生产环境中正常工作。我尝试镜像我们开发机上的每一个设置,包括将智能主机更改为 Exchange 机面向 Internet 的主机名,但邮件仍然停留在队列中。
开发箱能够成功解析智能主机的名称,并且我可以从该箱通过端口 25 连接到 Exchange 服务器。
由于我对 Exchange 完全不熟悉,对 SMTP 也不是很熟悉,所以我完全不知道如何解决此问题。网络工程师也还没能弄清楚。是什么原因导致此问题无法解决?
这是我的虚拟 SMTP 服务器设置。
- 在 SMTP 服务器的传递选项卡、出站安全对话框中,选择“集成 Windows 身份验证”,并输入有效的用户名和密码。用户名以 Windows 域 (域\用户名) 为前缀。选择 TLS 加密。
- 在交付选项卡的高级对话框下,我们有以下设置:
- 伪装域名:mycompany.com(我尝试删除它但没有成功)
- 完全合格域名:mycompany.local(我也尝试过 mycompany.com)
- 智能主机:myexchangeserver.mycompany.local(我也尝试过它的公共域名)
- 直接传送和反向 DNS 查找选项已禁用
至于 Exchange 设置,我不确定要寻找什么,但我可以访问该框并可以在必要时发布其相关设置。
答案1
与其打开黑匣子,然后想为什么它无法工作,不如在 SMTP 中继机上安装“网络监视器”或 Wireshark,然后嗅探一些 SMTP 流量。大约 30 秒后,你就会发现你的邮件被拒绝的原因。这将是你阻力最小的路径。黑匣子会告诉你哪里出了问题,你只需要查看一下。
我认为,你的“网络工程师”应该早点使用嗅探器。嗅探线路上的流量对某些人来说似乎是“禁忌”,但这通常是查明 SMTP 等人类可读协议中问题的最佳方法。
答案2
我们刚刚与 Microsoft 的支持人员进行了沟通,并找到了解决方案。传递选项卡的高级对话框下的完全限定域名设置应该是虚拟 SMTP 服务器的名称,而不仅仅是域名。现在它已设置为 myvirtualsmtpserver.mycompany.local,邮件正在按预期进行中继。