Spamassassin, Dovecot y Postfix: Mover spam a la carpeta

Estoy tratando de mover Spam detectado por spamassassin automáticamente a la carpeta de correo basura en Debian Jessie.

He instalado Spamassassin y editado los configs:

local.cf (carpeta spamassassin)

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

main.cf

 spamassassin_destination_recipient_limit = 1 

master.cf

 smtp inet n - - - - smtpd -o content_filter=spamassassin spamassassin unix - nn - - 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 } 

El spam se marca como *****SPAM***** correctamente, pero no se mueve a la carpeta de correo basura (yo uso roundcube como cliente de correo, el Junkfolder ni siquiera aparece. No hay errores en el mail.info logging de 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,requinetworking_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 (delivenetworking via spamassassin service) Mar 18 17:22:30 *************** postfix/qmgr[4489]: DD759241A7B: removed 

En mi caso me faltaba include conf.d/*.conf línea en dovecot.conf y dovecot.conf no leía la configuration de estos files, incluyendo 90-plugins.conf .

Pero no dovecot.conf esa línea porque toda mi configuration ya está en los dovecot.conf y conf.d/*.conf lo replaceá con la configuration por defecto, así que simplemente dovecot.conf estas líneas en dovecot.conf :

 plugin { sieve = /etc/dovecot/sieve/default.sieve } protocol lda { mail_plugins = $mail_plugins sieve } 

Toda su otra configuration está bien y debería funcionar (parece que usted los obtiene de esta respuesta ).

Para administrar la regla del filter, puede utilizar el tamiz en el pajar. Puede ponerlo como tamiz global o por tamiz de usuario.

Para la configuration del uso de tamiz global en /etc/dovecot/dovecot.conf:

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

Para el tamiz por usuario use la configuration:

 sieve = /%Lh/sieve/dovecot.sieve 

que% Lh === dovecot lo cambiará a dir de buzón de usuario

Este es un ejemplo para el contenido de los files de tamiz:

 if header :contains "*****SPAM*****" "YES" { fileinto "Junk"; stop; }