![Postfix:使用外部 DNS 时解析电子邮件地址时出现问题](https://linux22.com/image/516589/Postfix%EF%BC%9A%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8%20DNS%20%E6%97%B6%E8%A7%A3%E6%9E%90%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E5%9C%B0%E5%9D%80%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我有一个包含 Postfix 的服务器配置,它配置为使用外部 DNS。所涉及的域名配置在同一台服务器上,但尚未启用(它们在外部解析到正确的旧 IP)。基本上,我们将把外部托管的网站切换到我们的服务器并更新名称服务器。
对其中一个相关域执行 ping 操作将显示正确的旧 IP。但是,当 postifix 尝试解析域时,它会发现我们已在服务器上注册了这些域,因此不会费心执行 DNS 查找(如果执行了,它会发现这些站点实际上存在于外部)。
有没有办法强制 postfix 忽略本地创建的域名并始终执行 DNS 查找,直到我们准备好“打开”(更新名称服务器)我们新创建的域名?
提前致谢!
答案1
以下是 main.cf 中的部分内容,我认为它适用于您的情况:
# In addition to the above, the Postfix SMTP server by default accepts mail
# that Postfix is final destination for:
# - destinations that match $inet_interfaces or $proxy_interfaces,
# - destinations that match $mydestination
# - destinations that match $virtual_alias_domains,
# - destinations that match $virtual_mailbox_domains.
# These destinations do not need to be listed in $relay_domains.
确保您的域名未列在这些位置。此外,$myhostname 和 $mydomain 应该不包含相关域名,否则它将接受该域名的邮件。但是,您应该将其添加到 $relay_domains,以便它知道转发收到的该域名的邮件。
编辑:此外,您可能能够将邮件服务器主机名添加到 /etc/hosts 文件中,直到您的名称服务器切换为止。