Hello, (Excuse me for top-posting, but the message below is too messy)
Your sieve config according to "dovecot -n" does not match what you have in 90-sieve.conf.
Have you deleted the line "!include conf.d/*.conf" in doveconf.conf?
Please double check that, as your config may not be what you'd expect it to be.. Cheers.
On Mon, 12 Apr 2021, Maurizio Caloro wrote:
Hello
Please willing to filter "bevor spam" mail...
filtering arnt take effect .. please i dont see the mistake.
Thanks for any possible update.
Debian buster
--
root@nmail:/etc/dovecot# dpkg -l | grep dovecot
dovecot-core 1:2.3.4.1-5+deb10u6
dovecot-imapd 1:2.3.4.1-5+deb10u6
dovecot-lmtpd 1:2.3.4.1-5+deb10u6
dovecot-managesieved 1:2.3.4.1-5+deb10u6
dovecot-mysql 1:2.3.4.1-5+deb10u6
dovecot-sieve 1:2.3.4.1-5+deb10u6
root@nmail:/etc/dovecot/sieve# cat before.sieve
# Sieve rules that are run before the user's filters.
# Messages flagged as spam are moved into the Junk folder.
require [ "fileinto", "mailbox" ];
if header :contains "X-Spam-Flag" "YES"
{
fileinto :create "INBOX.Junk";
stop;
}
--
already executed
# sieve before.sieve
--
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
}
--
root@nmail:/etc/dovecot/conf.d# <mailto:root@nmail:/etc/dovecot/conf.d#> cat 90-sieve.conf
##
## Settings for the Sieve interpreter
##
plugin {
# The path to the user's main active script. If ManageSieve is used, this the
# location of the symbolic link controlled by ManageSieve.
# sieve = ~/sieve/.dovecot.sieve
sieve = file:%h/sieve;active=%h/.dovecot.sieve
# Directory for :personal include scripts for the include extension. This
# is also where the ManageSieve service stores the user's scripts.
sieve_dir = ~/sieve
# Path to a script file or a directory containing script files that need to be
# executed before the user's script. If the path points to a directory, all
# the Sieve scripts contained therein (with the proper .sieve extension) are
# executed. The order of execution within a directory is determined by the
# file names, using a normal 8bit per-character comparison. Multiple script
# file or directory paths can be specified by appending an increasing number.
sieve_before = /etc/dovecot/sieve/before.sieve
}
--
root@nmail:/etc/dovecot# doveconf -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-16-amd64 x86_64 Debian 10.9
# Hostname: nmail.caloro.ch
auth_mechanisms = plain login
auth_verbose = yes
info_log_path = /var/log/mail.log
log_timestamp = %b %d %H:%M:%S Dovecot/
mail_access_groups = vmail
mail_location = maildir:~/Maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
sieve = ~/sieve/.dovecot.sieve
sieve_dir = ~/sieve
}
postmaster_address = mca@caloro.ch <mailto:mca@caloro.ch>
protocols = imap lmtp sieve
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-client {
mode = 0660
user = mail
}
}
service imap-login {
inet_listener imap {
port = 0
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service stats {
unix_listener stats-reader {
group = vmail
mode = 0666
user = vmail
}
unix_listener stats-writer {
group = vmail
mode = 0666
user = vmail
}
}
ssl = required
ssl_cert = </etc/letsencrypt/live/nmail.caloro.ch/fullchain.pem
ssl_cipher_list = ECDHE-RSA-CHACHA20-POLY1305:ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
userdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lda {
mail_plugins = " quota sieve"
}
protocol imap {
mail_plugins = " quota imap_quota"
ssl_cert = </etc/letsencrypt/live/nmail.caloro.ch/fullchain.pem
ssl_key = # hidden, use -P to show it
}
protocol lmtp {
mail_plugins = " sieve"
}
Mauri