防止转发服务器的错误退回

防止转发服务器的错误退回

注意:这个问题与避免在 Postfix 转发服务器上创建反向散射,对此唯一的回答是“抱歉,你无能为力”,但我在这里提供了更多细节,考虑了更多选择,也想知道在过去 5 年中更新的标准/协议是否改善了这种情况。如果这还不足以成为重新发布的理由,请随时关闭。

我正在运行一个处理某些转发的邮件服务器,偶尔会被列入黑名单。从日志来看,导致这种情况的情况如下:

  1. 垃圾邮件发送者从欺骗地址发送电子邮件到邮件服务器处理的转发地址。
  2. 邮件服务器上的 Spamassassin 无法将收到的邮件检测为垃圾邮件。
  3. 邮件服务器接受消息进行处理并将其排队等待转发。
  4. 邮件服务器尝试将消息转发到外部服务器上的目标地址。
  5. 接收邮件服务器正确识别收到的邮件为垃圾邮件并立即拒绝。注意:这不是将邮件服务器列入黑名单的步骤。
  6. 邮件服务器将拒绝的消息排队以等待 NDR 发送到欺骗的发送地址。
  7. 邮件服务器尝试将 NDR 发送到欺骗的发送地址。这是使邮件服务器被列入黑名单的步骤。

这种情况仅当邮件服务器上的垃圾邮件检测不如外部接收服务器时才会发生,因此这种情况很少发生,但一次错误定向的退回可能会在某些系统上将服务器列入黑名单超过一个月,所以它仍然非常烦人。

我考虑过的选项:

  1. 不转发:客户不会接受此选项。
  2. 升级垃圾邮件检测:我的小服务器上的垃圾邮件检测永远无法与 Gmail 等巨头匹敌,因此总会偶尔出现差异。
  3. 不发送退回邮件:偶尔列出服务器的 RBL 建议不要向外部地址发送 NDR。我真的不喜欢这个选项,因为合法(非垃圾邮件)退回邮件对于尝试调试未送达邮件的发件人、收件人和管理员来说是一项非常重要的服务。
  4. 更安全的解决方法:我研究了一种更安全的解决方法,即邮件服务器在接受邮件进行投递之前,可能会尝试将邮件转发到外部服务器。这种解决方法非常理想,但遗憾的是,我还没有找到可行的解决方法,而且有迹象表明这种方法并不实用。
  5. 检测拒绝类型:如果接收邮件服务器使用标准编码系统来指示邮件被拒绝为垃圾邮件,那么就可以避免在这些情况下发送 NDR。对于 Gmail 等一些大型邮件服务来说,这可能很实用,并且可能会消除大多数(已经很少见的)事件,尽管我发现即使是单个服务器也可能使用几种不同的代码来指示垃圾邮件。

邮件服务器是 Postfix。我很想听听其他管理员如何处理这个问题的任何其他建议,这些建议我还没有考虑过。

相关内容