在 SMTP 会话中拒绝使用邮件过滤程序

在 SMTP 会话中拒绝使用邮件过滤程序

是否可以使用 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标志。在后面指定一个较高的垃圾邮件分数值-rspamass-milter将拒绝分数等于或高于该等级的邮件。

这是用sendmail,但我怀疑你的语法会类似:

spamass_milter_flags="-r 25 -R 'Message content rejected' -f -p /var/run/spamass-milter.sock -i 127.0.0.1"

相关内容