SpamAssassin (spampd) 忽略 user_prefs

SpamAssassin (spampd) 忽略 user_prefs

我有一台运行 postfix 和 SpamAssassin 的 Ubuntu (12.10) 服务器。我按照 SpamAssassin wiki 上的以下说明设置了 spampd: http://wiki.apache.org/spamassassin/IntegratePostfixViaSpampd

但是,设置 ~/.spamassassin/user_prefs 被忽略。

我需要做什么才能让 spampd/SpamAssassin 读取/使用每个用户规则?

答案1

我仍然不能 100% 清楚 spampd 是否调用 spamassassin 或 spamc,如果它调用 spamc,则需要设置allow_user_rules为 1,如果不是,它应该在调用 spamassassin 的用户的目录中查找 user_prefs,并且只在该目录中。

我认为您无法在 spampd 中使用单独的 user_prefs,他们特别提到每个用户的白名单不可用。他们还提到每个用户的偏好是一项待办事项。

来自开关上的注释

打开 SpamAssassin 全局白名单功能。请参阅 SA 文档。请注意,每个用户的白名单不可用。

来自 github 上的 To-Do 部分

每个用户的偏好:这个问题还没有定论。我越来越觉得,大多数每个用户的偏好都应该在最终的邮箱服务器上指定。为什么?因为 SMTP 的设计并没有考虑到每个用户的偏好。在中继服务器上,同一个邮件正文可以发送给多个收件人,而这些收件人在处理垃圾邮件时可能会有截然不同的偏好。这里的例外可能是使用 LMTP 协议,这有待进一步研究。

我猜他们认为用户会有.procmail 过滤器。

答案2

您的 user_prefs 文件的权限设置是什么?验证垃圾邮件杀手守护进程是否可以读取它。它们应该是 644。

否则,您以哪个用户身份运行 SA?根据此处的资源,守护进程的某些用户组会导致它检查 /home/spamassassin 中的配置文件。诚然,这是 Debian,因此 Ubuntu 的行为可能有所不同。

答案3

您必须-u ${recipient}在以下位置使用 spamc 参数/etc/postfix/master.cf

spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -u ${recipient} -f -e  
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

相关内容