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

我正在尝试解决在VPS邮寄问题。

这个VPS只有一个公共IP地址和5个域​​名托pipe。 DNS(绑定)具有5个不同的区域configuration,每个区域都有一个到mail.domainX.com的mx条目和一个带有mail.domainX.com引用到VPS IP公共地址的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不parsing名称mail.domainX.com产生的。 真的,它解决了这个问题:

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

我认为在这两个可能的解决scheme:

1-在VPS中创build一个名为333.222.111.in-addr.arpa的新区域。 然后为使用公共IP的VPS中托pipe的每个域添加PTR条目,例如:mail.domainX.com。 注:我知道这不是build议,将来会给我带来麻烦。

2-更改每个区域的MX条目并将其指向vpsname.myISP.com。 这将使DNS和反向DNS匹配。 注:我不知道这是可能的还是没有问题的。

哪个选项会更好地解决这个问题? 有更好的select吗?

谢谢。


重要说明:我试图自己解决这个问题,因为当我向我的ISP寻求帮助时,他们不知道如何解决这个问题(!)。 很明显,我将在未来改变我的ISP,我需要尽快解决这个问题。

选项1将不起作用。 选项2将不会工作,直到PTRlogging被修正为由@Lazy Badger指出。

按着这些次序:

  • 为MXselect一个域,并获取PTRlogging集,使其指向您用作MX的域名(mail.example.com)。如果使用vpsname.myISP.com作为MX,则可以使用它来修复PTRlogging,并且指向该IP的vpsname.myISP.com有一条logging。
  • configurationEXIM以将自己标识为您为MXselect的名称。
  • 指出所有域使用所选的MX并configurationEXIM将这些域视为本地域。
  • (可选)在EXIM中为某些或全部域configuration虚拟域。
  • 确保postmaster地址适用于您所有的域名。

“反向DNS”检查通常使用smtp HELO命令针对MTA提供的主机名进行。 因此,configuration您的MTA,使其使用vpsname.myISP.com来呈现自己应该是​​足够的。 如果你使用Postfix的话, smtp_helo_name指令应该这样做。

对于Exim,您可能需要阅读当exim4发送HELO / EHLO时,如何configuration发送的主机名? 。

  1. 如果您为/ 24networking创build了自己的反向区域, 则它将不会执行任何操作没有人将您的区域委托给您免费 (并且将使用旧区域的旧区域)。 JFYI – 32代表团不行

  2. 第二个解决scheme更加实用,有一个注意事项 – 你可以使用任何主机名为常见的MX,并要求主机改变反向logging到你的名字,因为无论如何hostmaster必须修复的定义,甚至目前

vpsname.myISP.com.333.222.111.in-addr.arpa. 是主机名vpsname.myISP.com在区域文件(因此,$ ORIGIN添加到名称)后错误的名称和错误的结果,

如果将SPFlogging置于所讨论的所有域中,则可以将发送服务器的FQDN指定为该域的允许发件人。 现在大多数filter都符合SPFlogging,所以这将是最好的开始。

您绝对不需要MXlogging和反向DNS地址匹配,想想Google Apps如何作为一个大型示例!

在这里尝试一个向导来生成一个SPFlogging。

但是,您确实需要邮件服务器将其自身引入为与反向DNS相同的FQDN,通常通过在特定的MTA中设置服务器ehlo / helo响应来完成。

Exchange错误550的一个解决scheme是:

启动Exchange系统pipe理器(ESM)并转到当前使用的SMTP虚拟服务器。 select“属性” – >“访问” – >“中继”。 现在,检查是否启用了“允许成功authentication中继的计算机”选项。

如果这不起作用,并且Exchange数据库损坏,则请转到第三方Exchange服务器修复工具。