为什么我通过 spamd 和命令行获取的 SpamAssassin 结果不同

为什么我通过 spamd 和命令行获取的 SpamAssassin 结果不同

我的 SpamAssassin 守护程序没有标记我想要的那么多垃圾邮件(但它标记一些),所以我拿了一封没有被标记的样本邮件,在命令行中用 SpamAssassin 运行它。结果完全不同相同信息(见下文)。

  • 我应该在配置中寻找什么可能导致这种情况?

  • 如何临时启用 spamd 的调试(Ubuntu 16.4,不使用 amavis)

spamd 的结果:

X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on myhost
X-Spam-Level:
X-Spam-Status: No, score=-1.1 required=2.0 tests=BAYES_00,RDNS_NONE,
    SPF_HELO_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0

通过命令行得到的结果:

X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on myhost
X-Spam-Flag: YES
X-Spam-Level: ****
X-Spam-Status: Yes, score=4.5 required=2.0 tests=RCVD_IN_BL_SPAMCOP_NET,
    RDNS_NONE,SPF_HELO_PASS,SPF_PASS,URIBL_ABUSE_SURBL,URIBL_BLOCKED autolearn=no
    autolearn_force=no version=3.4.0
X-Spam-Report: 
  *  0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked.
  *       See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block
  *      for more information.
  *      [URIs: sarasotasailingsquadron.org]
  *  1.9 URIBL_ABUSE_SURBL Contains an URL listed in the ABUSE SURBL
  *      blocklist
  *      [URIs: afxled.trade]
*  1.2 RCVD_IN_BL_SPAMCOP_NET RBL: Received via a relay in bl.spamcop.net
*      [Blocked - see <http://www.spamcop.net/bl.shtml?107.173.40.66>]
* -0.0 SPF_PASS SPF: sender matches SPF record
* -0.0 SPF_HELO_PASS SPF: HELO matches SPF record
*  1.3 RDNS_NONE Delivered to internal network by a host with no rDNS

答案1

如果没有实际配置,很难说哪里出了问题。这可能是一些权限问题,例如,如果 spamd 以没有读取权限的用户身份运行~/.spamassassin/user_prefs,因此只运行 中配置的测试和分数/etc/spamassassin/local.cf

我如何暂时启用 spamd 的调试?

用 运行它spamd -D--debug即打印调试消息)。您可以将输出与 的输出进行比较,spamassassin -D看看有什么不同。

答案2

在 Ubuntu 上,首先使用以下命令检查 spamd 状态

sudo systemctl status spamassassin

它可能会给你一些线索。例如文件权限问题:

spamd[2392]: bayes: cannot open bayes databases /var/lib/spamassassin/.spamassassin/bayes_* R/O: tie failed: Permission denied

该文件应归 spamd 用户所有。在我的例子中debian-spamd,但如果您使用 sudo 运行,则可以归 root 所有sa-learn

相关内容