大家好,
因为 HOSTS 文件只能定义静态 A 记录,有没有办法可以将 MX 记录/创建任意名称注入 Windows 工作站 DNS 缓存服务?
短暂性脑缺血发作
答案1
不,如果不在工作站上运行自己的解析器就不行。
答案2
电子邮件服务器使用 MX 记录来找出要将域名的电子邮件发送到哪个主机。
每当程序使用 Windows API“GetHostByName”(以及一些其他 API 函数)时,Windows DNS 缓存(“DNSClient”服务)就会被填充。
但是,没有用于检索 MX 记录的 Windows API 函数 - 仅适用于 A/AAAA 记录和 PTR 记录(反向)。
因此,电子邮件服务器必须直接执行自己的 DNS 查找(通过 IP 套接字等)——绕过 Windows DNS 缓存。
因此,即使您可以以某种方式将 MX 记录注入 Windows DNS 缓存,您的电子邮件服务器也不会使用它们。
解决方案可能是在邮件服务器所在的同一台计算机上运行真正的 DNS 服务器程序,并配置 Windows/电子邮件服务器以使用它。这样您就可以直接为所需的任何域名配置 MX 记录(和其他记录类型)。Simple DNS Plus 是一个不错的选择。
答案3
虽然您无法将 mx 记录添加到主机文件,但您可以“覆盖”邮件交换的地址。MX 记录指向主机名,因此您所要做的就是将任何 MX 记录的主机名映射到 HOSTS 文件中的 IP 地址。