有没有类似 sa-learn-cyrus 的适用于 dovecot 的东西?

有没有类似 sa-learn-cyrus 的适用于 dovecot 的东西?

我搜寻了一上午,什么也没发现。

我有一个运行 dovecot IMAP 的 debian 机器。我想用用户垃圾邮件文件夹来训练 spamassassin。

有没有类似 sa-learn-cyrus 的适用于 dovecot 的东西?

答案1

SpamAssassin 附带sa-learn开箱即用(不要与sa-learn-cyrus您提到的混淆)。它有两种学习模式,普通邮件和垃圾邮件。它需要一个非常非常简单的脚本来遍历每个用户的邮箱,首先进行“普通邮件”遍历,然后对“垃圾邮件”进行第二次遍历。大致如下:

#!/bin/bash

# change these to reflect the folder layout used on your server
BASEDIR=/home
UINBOX=Maildir/Inbox
USPAMBOX=Maildir/Spam

# do some housekeeping...
sa-learn --force-expire

# enumerate each user and process ham/spam
for USRNAME in `ls -l /home`
do
  for MAILSTATE in new cur
  do
    sa-learn --ham $BASEDIR/$USRNAME/$UINBOX/$MAILSTATE/*
    sa-learn --spam $BASEDIR/$USRNAME/$USPAMBOX/$MAILSTATE/*
  done
done

将其放入一个文件中,我们将其称为sa-trainer.sh。我将已读邮件作为流程的一部分,以防万一有人读了某些内容(有意或无意)。这对流程来说并不重要,因为重复的内容将被检测到并被有效忽略。

答案2

我写了我的自己的脚本用于doveadm search从我自己的帐户中的某些 IMAP 文件夹中读取培训邮件。

适用通常的免责声明,它并不漂亮,但对我来说有用。您还必须删除crm114 mailtrainer.crm最后的调用。

编辑:我意识到我的脚本也使用了 crm114 功能(crm114/reaver_cache/texts 中所有已处理消息的缓存目录),因此它不适用于正常安装。

相关内容