On 19/01/2019 17:54, Stephan Bosch wrote:> > > Op 19/01/2019 om 10:51 schreef Tim Dickson via dovecot: >> On 19/01/2019 08:01, Aki Tuomi wrote: >>> >>>> On 19 January 2019 at 02:07 Tim Dickson via dovecot < >>>> dovecot at dovecot.org <mailto:dovecot at 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) >>> >> 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 at mydomain.net>: saved mail >> to INBOX > > This tells me that the Sieve plugin did not save the message (there is > no "sieve: " prefix). So, this is not a "keep" action. Saving the mail > to INBOX directly like that only happens when Sieve is not involved to > begin with (plugin disabled or no Sieve scripts found) or when Sieve > bails out upon error. > >> 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 at mail.myserver.net> (source: user at 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 > > Here, all Sieve involvement abruptly seems to stop, which is very very > weird. > > I'd expect this to end in some sort of error message. Is there a > /var/log/dovecot.error or something like that? You can verify where > things are logged using `sudo doveadm log find`. > > Regards, > > Stephan. > > >output of doveadm log find Looking for log files from /var/log Debug: /var/log/dovecot.log Info: /var/log/dovecot.info Warning: /var/log/maillog Error: /var/log/maillog Fatal: /var/log/maillog I have listed below the section of /var/log/maillog which appears to be relevant . (domain changed for privacy) Jan 18 23:13:46 mail dovecot: lda(tim): Error: sieve: Failed to initialize script execution: Invalid postmaster_address: invalid address `postmaster@' specified for the postmaster_address setting Jan 18 23:13:46 mail sm-mta[866]: x0INDhct000865: to=<tim at myserver.net>, ctladdr=<heather at myserver.net> (1002/100), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33291, dsn=2.0.0, stat=Sent Jan 18 23:21:14 mail dovecot: master: Warning: Killed with signal 15 (by pid=905 uid=0 code=kill) There are other mails with the same "invalid address `postmaster@' to other users. Is a postmaster address is required for sieve to work.? if so where should it go. is it the sieve_user_email declaration ? thanks.
Op 20/01/2019 om 00:21 schreef Tim Dickson via dovecot:> On 19/01/2019 17:54, Stephan Bosch wrote: >> 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 at mail.myserver.net> (source: user at 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 >> >> Here, all Sieve involvement abruptly seems to stop, which is very >> very weird. >> >> I'd expect this to end in some sort of error message. Is there a >> /var/log/dovecot.error or something like that? You can verify where >> things are logged using `sudo doveadm log find`. >> >> > output of doveadm log find > Looking for log files from /var/log > Debug: /var/log/dovecot.log > Info: /var/log/dovecot.info > Warning: /var/log/maillog > Error: /var/log/maillog > Fatal: /var/log/maillog > > I have listed below the section of /var/log/maillog which appears to > be relevant . (domain changed for privacy) > > Jan 18 23:13:46 mail dovecot: lda(tim): Error: sieve: Failed to > initialize script execution: Invalid postmaster_address: invalid > address `postmaster@' specified for the postmaster_address setting > Jan 18 23:13:46 mail sm-mta[866]: x0INDhct000865: > to=<tim at myserver.net>, ctladdr=<heather at myserver.net> (1002/100), > delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33291, dsn=2.0.0, > stat=Sent > Jan 18 23:21:14 mail dovecot: master: Warning: Killed with signal 15 > (by pid=905 uid=0 code=kill) > > There are other mails with the same "invalid address `postmaster@' to > other users. > Is a postmaster address is required for sieve to work.? if so where > should it go. is it the sieve_user_email declaration ? > thanks.Aha! So, you tripped over a 2.3.1 bug. The best way to work around this is by setting a proper explicit value for the global postmaster_address setting (https://wiki.dovecot.org/LDA). So, Pigeonhole does not define this setting; it is defined by Dovecot LDA/LMTP. Regards, Stephan.
On 20/01/2019 11:29, Stephan Bosch wrote:> > > Op 20/01/2019 om 00:21 schreef Tim Dickson via dovecot: >> On 19/01/2019 17:54, Stephan Bosch wrote: >>> 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 at mail.myserver.net> (source: user at 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 >>> >>> Here, all Sieve involvement abruptly seems to stop, which is very >>> very weird. >>> >>> I'd expect this to end in some sort of error message. Is there a >>> /var/log/dovecot.error or something like that? You can verify where >>> things are logged using `sudo doveadm log find`. >>> >>> >> output of doveadm log find >> Looking for log files from /var/log >> Debug: /var/log/dovecot.log >> Info: /var/log/dovecot.info >> Warning: /var/log/maillog >> Error: /var/log/maillog >> Fatal: /var/log/maillog >> >> I have listed below the section of /var/log/maillog which appears to >> be relevant . (domain changed for privacy) >> >> Jan 18 23:13:46 mail dovecot: lda(tim): Error: sieve: Failed to >> initialize script execution: Invalid postmaster_address: invalid >> address `postmaster@' specified for the postmaster_address setting >> Jan 18 23:13:46 mail sm-mta[866]: x0INDhct000865: >> to=<tim at myserver.net>, ctladdr=<heather at myserver.net> (1002/100), >> delay=00:00:00, xdelay=00:00:00, mailer=local, pri=33291, dsn=2.0.0, >> stat=Sent >> Jan 18 23:21:14 mail dovecot: master: Warning: Killed with signal 15 >> (by pid=905 uid=0 code=kill) >> >> There are other mails with the same "invalid address `postmaster@' to >> other users. >> Is a postmaster address is required for sieve to work.? if so where >> should it go. is it the sieve_user_email declaration ? >> thanks. > > Aha! So, you tripped over a 2.3.1 bug. The best way to work around > this is by setting a proper explicit value for the global > postmaster_address setting (https://wiki.dovecot.org/LDA). So, > Pigeonhole does not define this setting; it is defined by Dovecot > LDA/LMTP. > > Regards, > > Stephan. >Brilliant. that fixed it. the scripts are running again, and my test, and out of office is working. So it is just that there is no default for that field, and the example comments need to be updated.? (i just checked the 2.3.4 source and the example 15-lda.conf still implies a default, or has the behaviour been fixed in newer versions so it works?) I'll let the slackware build maintainer know so it can be added to the readme for 2.3.1 version. many thanks everyone for your assistance. regards, Tim