[Dovecot] sieve addflag has stopped working

Andrew Schulman andrex at alumni.utexas.net
Mon Feb 15 22:28:12 EET 2010


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 <xxx at xxx.xxx>: deliver_pipe transport
output: deliver(andrex): Info: sieve:
msgid=<ad58db2a42700ec0e5c924c8882d48c2 at yourmailnews.net>: 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                                     
mailbox_idle_check_interval: 30                                  
mail_debug: no                                                   
mail_full_filesystem_access: yes                                 
mail_max_keyword_length: 50                                      
mail_save_crlf: no                                               
mmap_disable: yes                                                
dotlock_use_excl: yes                                            
fsync_disable: no                                                
mail_nfs_storage: no                                             
mail_nfs_index: no                                               
mailbox_list_index_disable: yes                                  
lock_method: fcntl                                               
maildir_stat_dirs: no                                            
maildir_copy_with_hardlinks: yes                                 
maildir_copy_preserve_filename: no                               
maildir_very_dirty_syncs: no                                     
mbox_read_locks: fcntl                                           
mbox_write_locks: fcntl dotlock                                  
mbox_lock_timeout: 300                                           
mbox_dotlock_change_timeout: 120                                 
mbox_min_index_size: 0                                           
mbox_dirty_syncs: yes                                            
mbox_very_dirty_syncs: no                                        
mbox_lazy_writes: yes                                            
dbox_rotate_size: 2048                                           
dbox_rotate_min_size: 16                                         
dbox_rotate_days: 1                                              
mail_drop_priv_before_exec: no                                   
mail_executable(default): /usr/lib/dovecot/imap                  
mail_executable(imap): /usr/lib/dovecot/imap                     
mail_executable(managesieve): /usr/lib/dovecot/managesieve       
mail_process_size: 256                                           
mail_plugins:
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(managesieve): /usr/lib/dovecot/modules/managesieve
mail_log_prefix: %Us(%u):
mail_log_max_lines_per_sec: 10
imap_max_line_length: 65536
imap_capability:
imap_client_workarounds:
imap_logout_format: bytes=%i/%o
imap_id_send:
imap_id_log:
imap_idle_notify_interval: 120
pop3_no_flag_updates: no
pop3_enable_last: no
pop3_reuse_xuidl: no
pop3_save_uidl: no
pop3_lock_session: no
pop3_uidl_format: %08Xu%08Xv
pop3_client_workarounds:
pop3_logout_format: top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
dict_db_config:
dict_process_count: 1
managesieve_max_line_length: 65536
managesieve_logout_format: bytes=%i/%o
managesieve_implementation_string: dovecot
lda:
  postmaster_address: postmaster at xxx.xxx
  mail_plugin_dir: /usr/lib/dovecot/modules/lda
  mail_plugins: sieve
  log_path: /dev/stderr
  log_timestamp:
auth default:
  mechanisms: plain
  realms:
  default_realm:
  cache_size: 0
  cache_ttl: 3600
  cache_negative_ttl: 3600
  executable: /usr/lib/dovecot/dovecot-auth
  user: root
  chroot:
  username_chars:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@
  username_translation:
  username_format:
  master_user_separator:
  anonymous_username: anonymous
  krb5_keytab:
  gssapi_hostname:
  winbind_helper_path: /usr/bin/ntlm_auth
  failure_delay: 2
  verbose: no
  debug: no
  debug_passwords: no
  ssl_require_client_cert: no
  ssl_username_from_cert: no
  use_winbind: no
  count: 1
  worker_max_count: 30
  process_size: 256
  passdb:
    driver: pam
    args:
    deny: no
    pass: no
    master: no
  userdb:
    driver: passwd
    args:
plugin:
  sieve_extensions: +imapflags
  sieve_dir: ~/.mail/sieve



More information about the dovecot mailing list