It seems to be connected with update of ispconfig. In folder /var/vmail/company/mailbox/ there was link @sieve, pointing to /var/vmail/company/mailbox/sieve/ispconfig.sieve now I noticed this is changed (maybe long time ago, but didn't notice until users started to alert me) this changed from link to file to /var/vmail/company/mailbox/.ispconfig.sieve so I was hoping editing dovecot config in /etc/dovecot/dovecot.conf would do the trick and changed plugin { sieve=/var/vmail/%d/%n/.sieve to plugin { sieve=/var/vmail/%d/%n/.ispconfig.sieve Restarted dovecot/postfix, no effect. What am I doing wrong or is there something I don't fully understand ?
The setup works without any customisations; try making sure you are on the latest ispconfig version, undo any custom changes related to sieve file names, reconfigure services with the installer, and most likely things will just work.
Ispconfig is latest, no customizations... When out of office mode is set from ispconfig or roundcube, change is visible in .isoconfig.sieve file, but unfortunately not working. Is there any possibility to debug ?
In this case you should have 3 files in /var/vmail/domain.tld/user/, a .ispconfig-before.sieve, .ispconfig.sieve and .sieve (which is a symlink to the currently selected sieve script in the sieve/ folder). What does that look like and what do the files contain for your test user? That sounds like the correct behavior. What shows up in your logs when you mail such a user from a new sending email address? You could try setting mail_debug=yes in your dovecot config and it will provide more info.
Following files exist - .ispconfig-before.sieve (+svbin) - .isoconfig.sieve (+svbin) - .quotausage But there is no file .sieve I checked some other mailbox, which didn't have any sieve rules until now, symlink .sieve exists Then I opened ispconfig and created out of office autoreply symlink .sieve disappeared and this is what I've found in log after enabling debug for dovecot Debug: S740BvOQIGIdYAAAFEgcaA: sieve: file storage: Storage path `/var/vmail/8000plus.si/test.gmail/.sieve' not found Now I don't know if this is important or not, but in mail log I cannot find any occurence of ispconfig.sieve. Should I ?
Use debug mode to find out what's happening in detail there and if any errors occur. https://www.faqforge.com/linux/debugging-ispconfig-3-server-actions-in-case-of-a-failure/
I believe this is merely informational; if you haven't created and set a custom sieve script as active (eg. using a managesieve client) then you only have the two sieve scripts ISPConfig creates. So back to my previous questions, what do .ispconfig-before.sieve and .ispconfig.sieve contain, and what shows up in the mail log when you send an email to that user from a new sender (ie. one for which no vacation reply has been sent recently).
.ispconfig-before.sieve # This sieve script is generated by ISPConfig, any changes made will be overwritten. # You can create and activate a per-user sieve script (manually or via managesieve), # which will execute after this. require ["fileinto", "mailbox", "regex", "date", "relational", "vacation", "imap4flags", "envelope", "subaddress", "copy", "reject"]; ------------------------- .ispconfig.sieve # This sieve script is generated by ISPConfig, any changes made will be overwritten. # You can create and activate a per-user sieve script (manually or via managesieve), # which will execute before this. require ["fileinto", "mailbox", "regex", "date", "relational", "vacation", "imap4flags", "envelope", "subaddress", "copy", "reject"]; ################################################################# # Autoreply ################################################################# # Move spam to spam folder if anyof (header :is ["X-Spam", "X-Spam-Flag"] "Yes", header :matches "X-Spam-Status" "Yes, *") { # Stop here so that we do not reply on spams stop; } if currentdate :value "ge" "iso8601" "2012-01-01T00:00:00" { if currentdate :value "le" "iso8601" "2098-12-30T01:00:00" { vacation :days 1 :subject "Out of office reply" :addresses ["[email protected]"] "Sem zunaj"; } } ------------------------- log Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: auth input: [email protected] home=/var/vmail/8000plus.si/test.gmail mail=maildir:/var/vmail/8000plus.si/test.gmail/Maildir uid=5000 gid=5000 quota_rule=*:storage=31457280B sieve=/var/vmail/8000plus.si/test.gmail/.sieve Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: Added userdb setting: mail=maildir:/var/vmail/8000plus.si/test.gmail/Maildir Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: Added userdb setting: plugin/quota_rule=*:storage=31457280B Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: Added userdb setting: plugin/sieve=/var/vmail/8000plus.si/test.gmail/.sieve Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: Effective uid=5000, gid=5000, home=/var/vmail/8000plus.si/test.gmail Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: Quota root: name=user backend=dict args=:file:/var/vmail/8000plus.si/test.gmail/.quotausage Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: Quota rule: root=user mailbox=* bytes=31457280 messages=0 Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: Quota grace: root=user bytes=3145728 (10%) Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: dict quota: [email protected], uri=file:/var/vmail/8000plus.si/test.gmail/.quotausage, noenforcing=0 Mar 4 09:40:05 pro2 dovecot: lmtp(11506, [email protected]): Debug: maildir++: root=/var/vmail/8000plus.si/test.gmail/Maildir, index=, indexpvt=, control=, inbox=/var/vmail/8000plus.si/test.gmail/Maildir, alt= Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: sieve: Pigeonhole version 0.4.13 (7b14904) initializing Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: sieve: include: sieve_global is not set; it is currently not possible to include `:global' scripts. Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Performing auto-detection Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Root exists (/var/vmail/8000plus.si/test.gmail) Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Using active Sieve script path: /var/vmail/8000plus.si/test.gmail/.sieve Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Using script storage path: /var/vmail/8000plus.si/test.gmail/sieve Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Relative path to sieve storage in active link: sieve/ Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Using Sieve script path: /var/vmail/8000plus.si/test.gmail/.sieve Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: file storage: Storage path `/var/vmail/8000plus.si/test.gmail/.sieve' not found Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: User has no active script in storage `/var/vmail/8000plus.si/test.gmail/sieve' Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: User has no personal script Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): Debug: /D/WOsrPIWLyLAAAFEgcaA: sieve: No scripts to execute: reverting to default delivery. Mar 4 09:40:05 pro2 amavis[28286]: (28286-18) Passed CLEAN {RelayedInternal}, ORIGINATING LOCAL [84.255.204.158]:47319 [84.255.204.158] <[email protected]> -> <[email protected]>, Queue-ID: E41475013E, Message-ID: <[email protected]>, mail_id: kYl2ChAOajyo, Hits: -2.898, size: 1235, queued_as: 38DED50163, dkim_new=dkim:8000plus.si, 304 ms Mar 4 09:40:05 pro2 postfix/smtp[9534]: E41475013E: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.33, delays=0.02/0/0.01/0.3, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10027): 250 2.0.0 Ok: queued as 38DED50163) Mar 4 09:40:05 pro2 postfix/qmgr[2415]: E41475013E: removed Mar 4 09:40:05 pro2 dovecot: lmtp([email protected]): /D/WOsrPIWLyLAAAFEgcaA: msgid=<da599ee1-[email protected]>: saved mail to INBOX Mar 4 09:40:05 pro2 postfix/lmtp[30528]: 38DED50163: to=<[email protected]>, relay=mail.123gostovanje.si[private/dovecot-lmtp], delay=0.08, delays=0.01/0/0/0.07, dsn=2.0.0, status=sent (250 2.0.0 <[email protected]> /D/WOsrPIWLyLAAAFEgcaA Saved) Mar 4 09:40:05 pro2 dovecot: lmtp(11506): Disconnect from local: Successful quit Mar 4 09:40:05 pro2 postfix/qmgr[2415]: 38DED50163: removed
What are your sieve related settings in /etc/dovecot/dovecot.conf? It should have a section with this: Code: plugin { quota = dict:user::file:/var/vmail/%d/%n/.quotausage # no longer needed, as 'sieve' is in userdb extra fields: sieve=/var/vmail/%d/%n/.sieve sieve_before=/var/vmail/%d/%n/.ispconfig-before.sieve sieve_after=/var/vmail/%d/%n/.ispconfig.sieve sieve_max_script_size = 2M sieve_max_actions = 100 sieve_max_redirects = 25 } Perhaps you have an old conf-custom file in need of an update which is missing that.
sieve_before=/var/vmail/%d/%n/.ispconfig-before.sieve sieve_after=/var/vmail/%d/%n/.ispconfig.sieve That was missing Everything working perfectly now, thanks for your support guys.
When you use conf-custom templates, you really do need to check if there are new or different settings in the original templates every time you update ISPConfig (though not if you are re-running the installer for the same version). Dovecot has an alternate setup where you use /usr/local/ispconfig/server/conf-custom/install/dovecot_custom.conf.master and make additions there, rather than needing to maintain the entire conf-custom template, and if that works for your customizations, you can mostly ignore changes in the upstream dovecot template.