注意:这个问题是重复的避免在Postfix转发服务器上创build反向散射 ,对此唯一的答案是“对不起,你什么都不能做”,但是我在这里提供更多的细节,考虑更多的选项,并且还想知道是否较新的标准/协议改善了过去五年的情况。 随意closures,如果这不是一个好的理由重新发布。
我正在运行一个邮件服务器,处理一些转发,偶尔会被列入黑名单。 从日志中,负责这个的情况如下所示:
- 垃圾邮件发送者将来自欺骗地址的电子邮件发送到由邮件服务器处理的转发地址。
- 邮件服务器上的Spamassassin无法将传入邮件检测为垃圾邮件。
- 邮件服务器接受消息进行处理,并对其进行队列转发。
- 邮件服务器尝试将邮件转发到外部服务器上的目标地址。
- 接收邮件服务器将收到的邮件正确识别为垃圾邮件,并立即拒绝。 注意:这不是将邮件服务器列入黑名单的步骤。
- 邮件服务器将被拒绝的NDR消息排入伪装的发送地址。
- 邮件服务器尝试将NDR发送到欺骗的发送地址。 这是将邮件服务器列入黑名单的步骤。
这种情况只发生在邮件服务器上的垃圾邮件检测不如外部接收服务器时,所以很less发生,但是一次错误的反弹可能会在一些系统上将服务器列入黑名单一个多月,所以它仍然非常烦人。
我考虑的选项:
- 不要转发:客户不会接受这个选项。
- 升级垃圾邮件检测:我的小型服务器上的垃圾邮件检测将无法与Gmail等巨人相匹配,因此总是会有偶尔的差异。
- 不要发送反弹:偶尔列出服务器的RBLbuild议没有NDR到外部地址。 我真的不喜欢这个选项,因为合法的(非垃圾邮件)反弹对发送者,收件人和pipe理员来说是一个非常重要的服务,试图debugging未传送的邮件。
- 一个更好的解决scheme:我研究了一个更好的解决scheme,邮件服务器可能会尝试将邮件转发到外部服务器,然后再接受邮件发送。 这个解决scheme将是理想的,但是,我还没有find这个工作的实施,并看到几个迹象表明,这是不切实际的。
- 检测拒绝types:如果接收邮件服务器使用标准的编码系统来表明邮件被拒绝为垃圾邮件,那么在这种情况下可以避免发送NDR。 这对于Gmail等大型邮件服务来说可能是实用的,并且可能会消除大部分(已经很less见的)事件,尽pipe我发现即使是单个服务器也可能使用几个不同的代码来表示垃圾邮件。
邮件服务器是Postfix。 我很想听听任何其他的build议,我没有考虑其他pipe理员如何处理这个问题。