反向 DNS 和邮件传递(550 4.4.7)

反向 DNS 和邮件传递(550 4.4.7)

我正在尝试修复 VPS 中的邮件问题。

此 VPS 只有一个公共 IP 地址,托管了 5 个域名。DNS(绑定)配置了 5 个不同的区域,每个区域都有一个指向 mail.domainX.com 的 mx 条目和一个指向 VPS IP 公共地址的 mail.domainX.com 的 A 条目。

当某个域中的用户尝试向拥有 @microsofot.com 电子邮件地址的人发送邮件时,电子邮件就会出现问题。发送到该地址的电子邮件中约有 20% 会被拒绝,并出现以下错误:

Diagnostic information for administrators:

Generating server:  <http://bigfish.com> bigfish.com

[email protected]
#550 4.4.7 QUEUE.Expired; message expired ##

调查此代码错误时,我发现这是因为公共 IP 的反向 DNS 无法解析名称 mail.domainX.com。实际上,它解决了这个问题:

vpsname.myISP.com.333.222.111.in-addr.arpa.

我认为对此有两种可能的解决方案:

1- 在 VPS 中创建一个名为 333.222.111.in-addr.arpa 的新区域。然后为 VPS 中托管的每个具有公共 IP 的域添加一个 PTR 条目,例如:mail.domainX.com。注意:我知道这是不推荐的,并且会给我带来麻烦。

2- 更改每个区域中的 MX 条目并将其指向 vpsname.myISP.com。这将使该 DNS 和反向 DNS 匹配。注意:我不知道这是否可行或能否正常工作。

哪种方案更适合解决此问题?还有更好的选择吗?

谢谢。


重要提示:我正在尝试自己解决这个问题,因为当我向 ISP 寻求帮助时,他们不知道如何解决这个问题 (!)。显然,我将来会更换我的 ISP,因为我需要尽快解决这个问题。

答案1

选项 1 不起作用。选项 2 直到 PTR 记录得到更正(如 @Lazy Badger 所述)才会起作用。

按着这些次序:

  • 为 MX 选择一个域并获取 PTR 记录集以指向您用作 MX 的域名 (mail.example.com)。vpsname.myISP.com如果您让他们修复 PTR 记录,您可以将其用作 MX,并且有一个vpsname.myISP.com指向该 IP 的 A 记录。
  • 配置 EXIM 以将其自身标识为您为 MX 选择的名称。
  • 指向所有域以使用所选的 MX,并配置 EXIM 将这些域视为本地域。
  • (可选)在 EXIM 中为部分或全部域配置虚拟域。
  • 确保该postmaster地址适用于您的所有域名。

答案2

通常使用 smtp HELO 命令针对 MTA 提供的主机名进行“反向 DNS”检查。因此,配置 MTA 使其使用 vpsname.myISP.com 来呈现自身就足够了。如果您使用 Postfix,该smtp_helo_name指令应该可以完成此操作。

对于 Exim,你可能需要阅读当 exim4 发送 HELO/EHLO 时,如何配置它发送哪个主机名?

答案3

  1. 如果你为/24 网络创建自己的反向区域,它什么也不会做-没有人将此区域委托给您免费(将使用旧位置的旧区域)。JFYI - /32 委派不可行。

  2. 第二种解决方案更加实用,但需要注意的是,您可以使用任何通用 MX 的主机名和询问主机将反向记录更改为您的名字,因为无论如何主机管理员都必须修复定义,即使是当前

vpsname.myISP.com.333.222.111.in-addr.arpa.坏名字区域文件中主机名 vpsname.myISP.com 后面缺少点(因此,$ORIGIN 添加到名称中)

答案4

Exchange 错误 550 的一个解决方法是:

启动 Exchange 系统管理器 (ESM),进入当前使用的 SMTP 虚拟服务器。选择“属性”->“访问”->“中继”。现在,检查“允许成功通过身份验证的计算机进行中继”选项是否已启用。

如果这没有帮助,并且 Exchange 数据库损坏,那么请寻求第三方Exchange 服务器修复工具。

相关内容