当我对电子邮件运行 spamassassin 命令时,它会正确地将电子邮件识别为垃圾邮件,并且看起来好像已添加了标题。但是该文件实际上并未更新,并且标题保持不变。由于我在这里的声誉,我无法发布命令的实际输出。任何帮助表示赞赏。谢谢你。
首先,/etc/spamassassin/local.cf 有 'report_safe 0'
基本上,例如,我在一封电子邮件上运行以下命令。
mike@servo:/mnt/filestore/mail/mike$ spamassassin INBOX/cur/1476677884_0.3597.servo\,U\=678\,FMD5\=7e33429f656f1e6e9d79b29c3f82c57e:2\,
其结果包括带有可见 X-Spam 标头的整个电子邮件。在这种情况下,以“X-Spam-Status: Yes, score=24.0 required=5.0”为例。
然后我只是用“更多”查看文件。但 X-Spam 标头不可见。什么都没有改变。
mike@servo:/mnt/filestore/mail/mike$ 更多 INBOX/cur/1476677884_0.3597.servo\,U\=678\,FMD5\=7e33429f656f1e6e9d79b29c3f82c57e:2\,
编辑:我还想指出,使用 spamc 命令而不是 spamassassin 会产生相同的结果。除非我完全弄错了这应该如何表现 - 命令实际上应该写入文件而不仅仅是输出结果,对吗?- 那么也许这是一个许可问题?安装 spamassassin 的用户似乎是 debian-spamd,我所有的邮件都存储为 -rw-rw-r-- mike:mike。但是,我找不到任何日志来证明权限错误。
当您获取 的输出时
spamassassin
,它会将您的消息输出到 STDOUT,而不是原始文件。这是因为
spamassassin
通常通过 STDIN 接收消息,例如当它被用作 Postfix 的筛子时。Postfix 将消息通过 STDIN 传递给spamassassin
,后者将其输出到 STDOUT 到下一个进程,所以是这样的:如果要保存文件,则需要编写它,如下所示:
对于任何可能偶然发现这篇文章并提出类似问题的人,以下是我解决此问题的方法。为了将消息弹出到单独的目录中,我从 offlineimap 移至 fetchmail,并将以下脚本添加到 cron。