Dovecot 1.2.10 in Debian, using Dovecot sieve.
I have a sieve script, generated by Ingo, that's supposed to mark spam messages
as "Seen" and file them into the Junk folder. In part it reads:
require ["regex", "body", "imapflags", "fileinto"];
if exists "X-Spam-Flag" {
addflag "\\Seen";
fileinto "Junk";
removeflag "\\Seen";
stop;
}
This has been working correctly for a long time, but since about 2 weeks ago
now, the "Seen" flag isn't being set, although the messages are still being
filed into the Junk folder. In two different mail clients, new messages in the
Junk folder show up as being unread. Looking at the mail files that hold those
messages, the file names don't have an "S" flag appended, while older messages
all have the "S" and show up as already seen in the mail clients.
I don't believe that I've updated dovecot recently, so I'm not sure why the
behavior has changed. Note that I do have
plugin {
sieve_extensions = +imapflags
}
in dovecot.conf. I know that imapflags is deprecated, but it is still supposed
to be supported. Unfortunately ingo1 doesn't support imap4flags yet
(http://bugs.horde.org/ticket/8784).
I'm trying to find log information that might indicate an error, but I'm not
finding much. /var/log/exim4/mainlog just says:
2010-02-15 14:22:14 1Nh6WK-000200-8z : deliver_pipe transport
output: deliver(andrex): Info: sieve:
msgid=: stored mail into
mailbox 'Junk'
The wiki says that there should be a log file ~/.dovecot.sieve.log, but there
isn't one, which I guess means there are no error messages.
Output of dovecot -a is below. Any ideas why the Seen flag isn't being set any
more?
Thanks,
Andrew.
# dovecot -a
# 1.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26 x86_64 Debian squeeze/sid
base_dir: /var/run/dovecot
log_path:
info_log_path:
log_timestamp: %Y-%m-%d %H:%M:%S
syslog_facility: mail
protocols: imap imaps managesieve
listen(default): localhost
listen(imap): localhost
listen(managesieve): localhost:2000
ssl_listen: imap
ssl: yes
ssl_ca_file:
ssl_cert_file: /etc/dovecot/helium-imaps.cert.pem
ssl_key_file: /etc/dovecot/helium-imaps.key.pem
ssl_key_password:
ssl_parameters_regenerate: 0
ssl_cipher_list:
ssl_cert_username_field: commonName
ssl_verify_client_cert: no
disable_plaintext_auth: yes
verbose_ssl: no
shutdown_clients: yes
nfs_check: yes
version_ignore: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(managesieve): /usr/lib/dovecot/managesieve-login
login_user: dovecot
login_greeting: Dovecot ready.
login_log_format_elements: user=<%u> method=%m rip=%r lip=%l %c
login_log_format: %$: %s
login_process_per_connection: yes
login_chroot: yes
login_trusted_networks:
login_process_size: 64
login_processes_count: 3
login_max_processes_count: 128
login_max_connections: 256
valid_chroot_dirs:
mail_chroot:
max_mail_processes: 512
mail_max_userip_connections: 10
verbose_proctitle: no
first_valid_uid: 500
last_valid_uid: 0
first_valid_gid: 1
last_valid_gid: 0
mail_access_groups:
mail_privileged_group: mail
mail_uid:
mail_gid:
mail_location: maildir:~/.mail
mail_cache_fields:
mail_never_cache_fields: imap.envelope
mail_cache_min_mail_count: 0