postfix、spamassassin user_prefs 和别名

postfix、spamassassin user_prefs 和别名

我在 postfix 设置中使用 -o content_filter=spamassassin和如下传输实现了 spamassassin 邮件过滤:

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

接下来,我想使用user_prefs如下选项通过 sql 实现基于用户的 spamassassin 偏好设置这里

  • 这个设置将如何处理别名?
  • 在别名扩展之前会调用 spamassassin 吗?
  • 如果是这样的话,整个基于用户的偏好设置几乎就被破坏了。有没有办法实现完整的基于用户的偏好设置,即使使用别名?

答案1

我通过围绕 sendmail 创建包装脚本来调查这个问题(因为它${recipient}无论如何都是作为参数)。

#!/bin/bash
echo "$@" >> /var/log/sendmail-test.log
/usr/sbin/sendmail-orig "$@"

这小段代码实际上表明别名似乎在移交给 spamassassin 之前已经经过处理。太棒了。

在执行此操作时我注意到的另一件重要的事情是,在 main.cf 中包含这样的一行非常重要:

spamassassin_destination_recipient_limit = 1

如果不这样做,${recipient}将包含多个用户,这也会破坏基于用户的偏好。

当有这样的设置时,spamc 可能会被多次调用,发送相同的邮件,但每次调用的用户都不同。这引出了另一个问题: spamassassin 如何处理内容相同但收件人不同的邮件?

相关内容