spamassassin

Тим, хто кори­сту­є­ться spamassassin для філь­тру­ва­н­ня спа­му (хоча я от пла­ную пере­пов­за­ти на dspam поти­хень­ку), зна­до­би­ться такий скрипт для авто­ма­ти­чно­го навча­н­ня:

#!/usr/bin/env bash
IFS=$'\n'
spooldir="/var/spool/virtual"
domains=`ls -1 $spooldir`
for domain in $domains
do
        users=`ls -1 $spooldir/$domain`
        for user in $users
        do
                echo Examining $user@$domain INBOX...
                /usr/bin/sa-learn --no-sync --ham $spooldir/$domain/$user/{cur,new,tmp}
 
                dirs=`find $spooldir/$domain/$user/ -maxdepth 1 -type d -name '.*'`
                for i in $dirs
                do
                        dir=`basename "$i"`
                        [[ "$dir" == ".Junk" ]] && continue
                        [[ "$dir" == ".Viruses" ]] && continue
                        echo Examining $user@$domain "$dir"...
                        /usr/bin/sa-learn --no-sync --ham $spooldir/$domain/$user/"$dir"/{cur,new,tmp}
                done
 
                if [[ -d "$spooldir/$domain/$user/.Junk" ]]
                then
                        echo Examining $user@$domain Junk...
                        /usr/bin/sa-learn --no-sync --spam $spooldir/$domain/$user/.Junk/{cur,new,tmp}
                        echo done.
                fi
        done
done
 
echo Syncing...
/usr/bin/sa-learn --sync
echo done.

Голов­не — заста­ви­ти кори­сту­ва­чів пер­ший час не ліну­ва­ти­ся вру­чну сор­ту­ва­ти спам-не спам.

Мітки: , ,

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.