我运行一个 Postfix 服务器,它托管一个小型的基于别名的邮件列表。假设people@myserver
转发到alice@someprovider
和bob@someotherprovider
。现在,alice@someprovider
可能会使用比我更严格的垃圾邮件过滤器。
backscattervictim@somewhere
当一封来自(伪造的)到的垃圾邮件people@myserver
到达时,我的垃圾邮件过滤器将其检测为垃圾邮件,并在 SMTP 阶段拒绝它 --> 没有造成危害。
然而,当同一封邮件通过我的服务器时,我的服务器会尝试将其转发给 Alice,并且她服务器在 SMTP 阶段拒绝该邮件,我的服务器向无辜的反向散射受害者创建反弹消息。(从我的服务器的角度来看,这是有道理的,但对于反向散射受害者来说却很烦人。)
有没有什么办法可以防止这种行为?我不想关闭 NDR,因为(一般来说)它们有合法的用途。
答案1
如果它没有被标记为垃圾邮件,但是 alice 拒绝了该邮件,我看不出您的 Postfix 服务器如何在不关闭 NDR 的情况下不将邮件退回给受害者 :(
也许如果爱丽丝在邮件头的某处将该邮件标记为垃圾邮件并发回给你?
答案2
可以拦截所有传出的 NDR 并将其重定向到单个邮箱,而不是完全丢弃退回邮件。
在/etc/postfix/main.cf
:
header_checks = regexp:/etc/postfix/header_checks
internal_mail_filter_classes = bounce,notify
在/etc/postfix/header_checks
:
/^From: MAILER-DAEMON.*/ REDIRECT [email protected]
这意味着所有退回的邮件都将发送到一个邮箱,对于用户数较少的小型站点来说,这可能是丢弃和发送 NDR 之间的一个很好的折衷方案。
理想情况下,您只会针对非本地用户的 NDR 执行此操作,但我认为header_checks
单独执行此操作是不可能的。