是否可以使用 SpamAssassin 拒绝电子邮件,就像在 Postfix 中使用 header_checks 所做的那样?通常,SpamAssassin 只会添加垃圾邮件标志,并默认在电子邮件主题中添加 SPAM 字样。但如果 SpamAssassin 将电子邮件归类为垃圾邮件,是否可以告诉 postfix 拒绝该电子邮件而不是转到用户帐户的收件箱?谢谢
答案1
在 SMTP 会话中拒绝使用邮件过滤程序
您可以让 postfix 使用 spamassassin 拒绝邮件在 SMTP 会话中。
它让被拒绝的主机负责将退回通知发送回发件人。
Sendmail、Postfix 和其他一些 MTA/SMRP 服务器支持邮件过滤器。Postfix
:http://www.postfix.org/MILTER_README.html
有几种支持 spamassassin 的过滤器可供选择:
https://cwiki.apache.org/confluence/display/spamassassin/IntegratedInMta
经典的方法是
- 在 SMTP 会话中拒绝“最有可能的垃圾邮件”(例如垃圾邮件分数 > 10)
- 标记“可能是垃圾邮件”(自定义标题或修改
Subject:
)
警告
- 网络模式下的 spamassassin 测试可能需要几秒钟这对于许多 MTA/SMTP 服务器来说是不可接受的。本地模式速度更快,但准确性较低。
- 它可能影响服务器性能,特别是在高负载下。
- 少数火腿发送服务器非常“不耐烦”
- 贝叶斯测试对于非常好的 spamassassin 准确性至关重要,但在过滤多个收件人时,它们更难训练
答案2
man spamass-milter
并记下-r
标志。在后面指定一个较高的垃圾邮件分数值-r
,spamass-milter
将拒绝分数等于或高于该等级的邮件。
这是用sendmail
,但我怀疑你的语法会类似:
spamass_milter_flags="-r 25 -R 'Message content rejected' -f -p /var/run/spamass-milter.sock -i 127.0.0.1"