Spamassassin, Dovecot и Postfix: переместить спам в папку

Я пытаюсь автоматически переместить спам, обнаруженный spamassassin, в папку Junk на Debian Jessie.

Я установил Spamassassin и отредактировал конфиги :

local.cf (папка spamassassin)

rewrite_header Subject *****SPAM*****

main.cf

spamassassin_destination_recipient_limit = 1

master.cf

smtp      inet  n       -       -       -       -       smtpd
        -o content_filter=spamassassin

spamassassin unix -     n   n   -   -   pipe
    flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e
    /usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

90-plugins.conf (dovecot)

plugin {
  #setting_name = value
  sieve = /etc/dovecot/sieve/default.sieve
}

default.sieve

require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
    fileinto "Junk";
}

15 -mailboxes.conf (postfix)

mailbox Junk {
   auto = subscribe
   special_use = \Junk
}

Спам правильно помечается как ***** SPAM ***** , но не перемещается в папку нежелательной почты (я использую roundcube как почтовый клиент, папка нежелательной почты даже не отображается. Также нет ошибок в журнале mail.info :

Mar 18 17:22:29 *************** postfix/smtpd[6184]: connect from mail-io0-f173.google.com[209.85.223.173]
Mar 18 17:22:29 *************** postfix/smtpd[6184]: DD759241A7B: client=mail-io0-f173.google.com[209.85.223.173]
Mar 18 17:22:30 *************** postfix/cleanup[6189]: DD759241A7B: message-id=<CALvS7dGxMQDAVn7WaVe4xhqyejU_1MBu20QMu__mVyLjggHi9w@mail.gmail.com>
Mar 18 17:22:30 *************** postfix/qmgr[4489]: DD759241A7B: from=<***************m>, size=2492, nrcpt=1 (queue active)
Mar 18 17:22:30 *************** spamd[4506]: spamd: connection from ip6-localhost [::1]:46206 to port 783, fd 6
Mar 18 17:22:30 *************** spamd[4506]: spamd: processing message <CALvS7dGxMQDAVn7WaVe4xhqyejU_1MBu20QMu__mVyLjggHi9w@mail.gmail.com> for vmail:5555
Mar 18 17:22:30 *************** postfix/smtpd[6184]: disconnect from mail-io0-f173.google.com[209.85.223.173]
Mar 18 17:22:30 *************** spamd[4506]: spamd: identified spam (1000.3/2.0) for vmail:5555 in 0.2 seconds, 2547 bytes.
Mar 18 17:22:30 *************** spamd[4506]: spamd: result: Y 1000 - FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GTUBE,HTML_MESSAGE,RCVD_IN_MSPIKE_H2,SPF_PASS,TVD_SPACE_RATIO,T_DKIM_INVALID scantime=0.2,size=2547,user=vmail,uid=5555,required_score=2.0,rhost=ip6-localhost,raddr=::1,rport=46206,mid=<CALvS7dGxMQDAVn7WaVe4xhqyejU_1MBu20QMu__mVyLjggHi9w@mail.gmail.com>,autolearn=no autolearn_force=no
Mar 18 17:22:30 *************** spamd[4505]: prefork: child states: II
Mar 18 17:22:30 *************** dovecot: lda(***************): msgid=<CALvS7dGxMQDAVn7WaVe4xhqyejU_1MBu20QMu__mVyLjggHi9w@mail.gmail.com>: saved mail to INBOX
Mar 18 17:22:30 *************** postfix/pipe[6192]: DD759241A7B: to=<***************>, relay=spamassassin, delay=0.63, delays=0.32/0/0/0.3, dsn=2.0.0, status=sent (delivered via spamassassin service)
Mar 18 17:22:30 *************** postfix/qmgr[4489]: DD759241A7B: removed
5
задан 18 March 2016 в 18:24
2 ответа

Для управления правилом фильтрации вы можете использовать решето на голубятне. Вы можете поместить его как глобальное сито или сито для каждого пользователя.

Для глобального сита используйте конфигурацию в /etc/dovecot/dovecot.conf:

 sieve_global_path = /home/vmail/sieve/dovecot.sieve
 

Для сита на пользователя используйте конфигурацию:

 sieve = /%Lh/sieve/dovecot.sieve
 

который% Lh === dovecot изменит его на каталог почтового ящика пользователя

Это пример содержимого файлов сита:

 если заголовок: содержит «***** SPAM *****» «ДА  "
 {
  fileinto "Хлам";
  стоп;
 }
 
2
ответ дан 3 December 2019 в 01:36

В моем случае мне не хватало строки include conf.d / *. Conf в dovecot.conf , и dovecot не считывал конфигурацию из этих файлов включая 90-plugins.conf .

Но я не включил эту строку, потому что вся моя конфигурация уже находится в файлах dovecot.conf и conf.d / *. Conf заменит его настройками по умолчанию, поэтому я просто включены эти строки в dovecot.conf :

plugin {
    sieve = /etc/dovecot/sieve/default.sieve
}

protocol lda {
    mail_plugins = $mail_plugins sieve
}

Все остальные настройки в порядке и должны работать (похоже, вы получили их из этого ответа ).

3
ответ дан 3 December 2019 в 01:36

Теги

Похожие вопросы