On 19/01/2019 08:01, Aki Tuomi wrote:
On 19 January 2019 at 02:07 Tim Dickson via dovecot < dovecot@dovecot.org <mailto:dovecot@dovecot.org>> wrote:
i recently upgraded a server from dovecot 2.1 to 2.3 unfortunately sieve does not appear to be working. The user scripts have not changed, and neither has the dovecont config. using managesieve allows me to create new sieve files and setting one as default updates the link in ~/ to point to the correct file, but the .dovecot.svbin file is not changed (unless i run sievec /home/username/.dovecot.sieve ) I have tested an out of office script that was working on the old system, and a simple test script that flags the mail as $label1 as per an example. email arrives in users mailboxes but sieve scripts don't appear to be doing anything. below is the output of doveconf -n (hostname changed for security)
# 2.3.1 (8e2f634): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.1 (d9bc6dfe) # OS: Linux 4.19.14 x86_64 Slackware 14.2 ext4 # Hostname: mail.myserver.net base_dir = /var/run/dovecot/ debug_log_path = /var/log/dovecot.log default_client_limit = 6000 default_process_limit = 1300 hostname = mail.myserver.net info_log_path = /var/log/dovecot.info lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes listen = 10.1.1.100 login_greeting = Dovecot at mcfadyens.net login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c mail_location = maildir:/var/spool/dovecot/%n mail_log_prefix = "%s(%u): " 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 index ihave duplicate mime foreverypart extracttext passdb { driver = shadow } plugin { mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size mail_log_group_events = yes sieve = file:~/sieve;active=~/.dovecot.sieve sieve_dir = ~/sieve sieve_user_log = ~/.dovecot.sieve.log } protocols = imap lmtp sieve service managesieve-login { inet_listener sieve { port = 4190 } service_count = 0 vsz_limit = 128 M } ssl = required ssl_cert = </etc/ssl/certs/dovecot.cert ssl_dh = # hidden, use -P to show it ssl_key = # hidden, use -P to show it userdb { driver = passwd } protocol lda { mail_plugins = " sieve" } protocol lmtp { mail_plugins = " sieve" } protocol imap { mail_max_userip_connections = 30 }
Any pointers on what might be wrong or how to test would be appreciated, thanks, Tim (the os is 64bit slackware 14.2, in case it is relevant)
Can you turn on mail_debug=yes and provide logs of delivery?
Aki Tuomi
relevant info from /var/log/dovecot.info (domain changed for privacy)
Jan 19 09:26:58 master: Info: Dovecot v2.3.1 (8e2f634) starting up for imap, lmtp, sieve (core dumps disabled) Jan 19 09:27:09 lda(tim): Info: msgid=<c35e8888-bcb4-0b26-9e9e-e16d60f20b01@mydomain.net>: saved mail to INBOX
relevant info from /var/log/dovecot.log (domain changed for privacy)
Jan 19 09:27:09 lda(tim): Debug: Loading modules from directory:
/usr/lib64/dovecot
Jan 19 09:27:09 lda(tim): Debug: Module loaded:
/usr/lib64/dovecot/lib90_sieve_plugin.so
Jan 19 09:27:09 lda(tim): Debug: auth USER input: tim
system_groups_user=tim uid=1003 gid=100 home=/home/tim
Jan 19 09:27:09 lda(tim): Debug: Effective uid=1003, gid=100, home=/home/tim
Jan 19 09:27:09 lda(tim): Debug: maildir++: root=/var/spool/dovecot/tim,
index=, indexpvt=, control=, inbox=/var/spool/dovecot/tim, alt=
Jan 19 09:27:09 lda(tim): Debug: none: root=, index=, indexpvt=,
control=, inbox=, alt=
Jan 19 09:27:09 lda(tim): Debug: Destination address:
<tim@mail.myserver.net> (source: user@hostname)
Jan 19 09:27:09 lda(tim): Debug: sieve: Pigeonhole version 0.5.1
(d9bc6dfe) initializing
Jan 19 09:27:09 lda(tim): Debug: sieve: include: sieve_global is not
set; it is currently not possible to include :global' scripts. Jan 19 09:27:09 lda(tim): Debug: sieve: file storage: Using active Sieve script path: /home/tim/.dovecot.sieve Jan 19 09:27:09 lda(tim): Debug: sieve: file storage: Using script storage path: /home/tim/sieve Jan 19 09:27:09 lda(tim): Debug: sieve: file storage: Relative path to sieve storage in active link: sieve/ Jan 19 09:27:09 lda(tim): Debug: sieve: file storage: Using Sieve script path: /home/tim/.dovecot.sieve Jan 19 09:27:09 lda(tim): Debug: sieve: file script: Opened script
test' from `/home/tim/.dovecot.sieve'
Jan 19 09:27:09 lda(tim): Debug: sieve: Using the following location for
user's Sieve script: /home/tim/.dovecot.sieve
Jan 19 09:27:09 lda(tim): Debug: Mailbox stdin: Opened mail UID=1
because: header Return-Path (Cache file is unusable)
Jan 19 09:27:09 lda(tim): Debug: INBOX: Mailbox opened because: lib-lda
delivery
Jan 19 09:27:09 lda(tim): Debug: Mailbox stdin: Opened mail UID=1
because: copying
Jan 19 09:27:09 imap(heather): Debug: Effective uid=1002, gid=100,
home=/home/heather
Jan 19 09:27:09 imap(heather): Debug: maildir++:
root=/var/spool/dovecot/heather, index=, indexpvt=, control=,
inbox=/var/spool/dovecot/heather, alt=
Jan 19 09:27:09 imap(heather): Debug: Sent: Mailbox opened because: append
Jan 19 09:27:10 imap(heather): Debug: Effective uid=1002, gid=100,
home=/home/heather
Jan 19 09:27:10 imap(heather): Debug: maildir++:
root=/var/spool/dovecot/heather, index=, indexpvt=, control=,
inbox=/var/spool/dovecot/heather, alt=
Jan 19 09:27:10 imap(heather): Debug: Sent: Mailbox opened because: SELECT
As you can see, the test was sending a mail from user heather to user tim on the same server (for speed). The mail arrived at tim mailbox, but no actions appear to have been taken. I can provide more info if needed. The only thing I have edited (for privacy) in the logs is the server domain name.