David Williams
2016-Sep-20 14:01 UTC
Sieve vacation won't send second reply after timeout interval.
Hi there I'm having problems getting sieve to send a second vacation response. For testing I've set sieve_vacation_min_period = 500s and the seconds option in the script is 600. I send the first test message and get a reply fine I then wait about 12 minutes send a second message and get no reply. In the log I get "discarded duplicate response". I've restarted dovecot and removed the .dovecot.lda-dupes file before running the last test. I'm using LMTP for delivery to Dovecot. The sieve script is require ["vacation-seconds"]; # rule:[Vacation] if true { vacation :seconds 600 :addresses "username at mydomain.com" :subject "vacation" "test"; } and doveconf -n is # 2.2.19: /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.9 (357ac0a0e68b+) # OS: Linux 3.18.12-gentoo x86_64 Gentoo Base System release 2.2 ext4 auth_username_format = %Ln disable_plaintext_auth = no imap_capability = +XLIST mail_location = maildir:/srv/mail/%n/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 index ihave duplicate vacation-seconds imapflags notify namespace inbox { inbox = yes location mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox "Sent Items" { auto = subscribe special_use = \Sent } mailbox Spam { auto = subscribe special_use = \Junk } mailbox Trash { auto = subscribe special_use = \Trash } prefix } passdb { args = * driver = pam } plugin { sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /var/lib/dovecot/sieve/default.sieve sieve_default = /var/lib/dovecot/sieve/default.sieve sieve_extensions = +notify +imapflags +vacation-seconds sieve_vacation_default_period = 1d sieve_vacation_min_period = 500s sieve_vacation_use_original_recipient = yes } postmaster_address = postmaster at mydomain.com protocols = imap lmtp sieve service auth { unix_listener auth-userdb { group mode = 0777 user } } service lmtp { inet_listener lmtp { address = 127.0.0.1 port = 10024 } } service managesieve-login { inet_listener sieve { port = 4190 } } ssl_cert = </etc/ssl/dovecot/server.pem ssl_key = </etc/ssl/dovecot/server.key submission_host = localhost userdb { driver = passwd override_fields = home=/srv/mail/%n } protocol lmtp { mail_plugins = sieve } protocol lda { mail_plugins = sieve } I've changed the identifying info to stop any spammers. Any ideas, suggestions or just another pair of eyes telling me I've done something stupid would be much appreciated. Many thanks David