上下文:
我目前有一个通过直接过滤器运行 spamassassin 的主 MX:
smtp inet n - n - - smtpd -o content_filter=filter
filter unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
我还有一个备份 MX,它运行他的垃圾邮件检查并转发到我的主邮件服务器。
问题:
当转发的邮件到达主要的 MX 垃圾邮件检查时,会再次检查并X-Spam-Flag:
覆盖以前的邮件(如预期的那样)。
但是,在主 MX 上,Received:
标头指向备份 MX,这会导致 RBL 检查在错误的 IP 上完成,总是成功并且垃圾邮件(由备份 MX 正确检测到)再次被标记为“非垃圾邮件”(这很糟糕) .
问题:
有没有办法跳过content_filter
并保留X-Spam-Flag:
来自特定主机(备份 MX)的邮件的原始邮件?
找到了一个非常简单的解决方案:在另一个没有内容的端口上运行另一个 SMTP 实例,并配置备份 MX 以转发给它。
添加主 MX master.cf:
并在 Main MX 防火墙上打开端口 26: