On Fri, May 31, 2019 10:18 am, Ralph Seichter via dovecot wrote:> * Voytek Eymont via dovecot:> Try runing "sievec -u {your_linux_user} /path/to/whatever.sieve" from a > shell and check the resulting error messages.Raplh, thanks so, am I'm missing sql lookup for sieve...? # sievec -u voytek dovecot.sieve sievec(voytek)<9667><>: Error: user voytek: Auth USER lookup failed sievec(root): Fatal: Internal error occurred. Refer to server log for more information. # grep sievec /var/log/dovecot.log Jun 01 08:32:26 auth-worker(9621): Warning: sqlpool(mysql): Query failed, retrying: Unknown column 'mailbox.enablesievec' in 'where clause' Jun 01 08:32:26 auth-worker(9621): Error: sql(voytek): User query failed: Unknown column 'mailbox.enablesievec' in 'where clause' # sievec -u voytek at sbt.net.au dovecot.sieve sievec(voytek at sbt.net.au)<9768><>: Error: user voytek at sbt.net.au: Auth USER lookup failed sievec(root): Fatal: Internal error occurred. Refer to server log for more information. Jun 01 08:36:24 auth-worker(9769): Warning: sqlpool(mysql): Query failed, retrying: Unknown column 'mailbox.enablesievec' in 'where clause' Jun 01 08:36:24 auth-worker(9769): Error: sql(voytek at sbt.net.au): User query failed: Unknown column 'mailbox.enablesievec' in 'where clause' from dovecot.conf: # Virtual mail accounts. userdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } passdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } # grep sieve dovecot.conf protocols = pop3 imap sieve # Pigeonhole managesieve service. # Per-user sieve settings. sieve_dir = /%Lh/sieve sieve = /%Lh/sieve/dovecot.sieve # Global sieve settings. sieve_global_dir = /var/vmail/sieve sieve_global_path = /var/vmail/sieve/dovecot.sieve #sieve_before #sieve_after mail_plugins = $mail_plugins sieve log_path = /var/log/sieve.log # cat dovecot-mysql.conf driver = mysql default_pass_scheme = CRYPT connect = host=127.0.0.1 dbname=..... snip....... # Required by 'doveadm mailbox ...'. iterate_query = SELECT username AS user FROM mailbox password_query = SELECT password FROM mailbox WHERE username='%u' AND active='1' user_query = SELECT \ '%u' AS master_user, \ CONCAT(mailbox.storagebasedirectory, '/', mailbox.storagenode, '/', mailbox.maildir) AS home, \ CONCAT('*:bytes=', mailbox.quota*1048576) AS quota_rule \ FROM mailbox,domain \ WHERE mailbox.username='%u' \ AND mailbox.domain='%d' \ AND mailbox.`enable%Ls%Lc`=1 \ AND mailbox.domain=domain.domain \ AND domain.backupmx=0 \ AND domain.active=1 \ AND mailbox.active=1
On Sat, June 1, 2019 8:47 am, Voytek Eymont via dovecot wrote: I'm still not sure what/where am I missing...? do I need some tables in the mailbox sql file ...? or where is the extra 'c' from ? "Unknown column 'mailbox.enablesievec'" I currently have like in mailbox table: ... enablelda | tinyint(1) | NO | MUL | 1 | | | enablemanagesieve | tinyint(1) | NO | MUL | 1 | | | enablemanagesievesecured | tinyint(1) | NO | MUL | 1 | | | enablesieve | tinyint(1) | NO | MUL | 1 | | | enablesievesecured | tinyint(1) | NO | MUL | 1 | | | enableinternal | tinyint(1) | NO | MUL | 1 | | ...> On Fri, May 31, 2019 10:18 am, Ralph Seichter via dovecot wrote: > >> * Voytek Eymont via dovecot: >> > >> Try runing "sievec -u {your_linux_user} /path/to/whatever.sieve" from a >> shell and check the resulting error messages. > > Raplh, thanks > > > so, am I'm missing sql lookup for sieve...? > > # sievec -u voytek dovecot.sieve > sievec(voytek)<9667><>: Error: user voytek: Auth USER lookup failed > sievec(root): Fatal: Internal error occurred. Refer to server log for more > information. > > # grep sievec /var/log/dovecot.log > Jun 01 08:32:26 auth-worker(9621): Warning: sqlpool(mysql): Query failed, > retrying: Unknown column 'mailbox.enablesievec' in 'where clause' > Jun 01 08:32:26 auth-worker(9621): Error: sql(voytek): User query failed: > Unknown column 'mailbox.enablesievec' in 'where clause' > > > # sievec -u voytek at sbt.net.au dovecot.sieve > sievec(voytek at sbt.net.au)<9768><>: Error: user voytek at sbt.net.au: Auth > USER lookup failed > sievec(root): Fatal: Internal error occurred. Refer to server log for more > information. > > Jun 01 08:36:24 auth-worker(9769): Warning: sqlpool(mysql): Query failed, > retrying: Unknown column 'mailbox.enablesievec' in 'where clause' > Jun 01 08:36:24 auth-worker(9769): Error: sql(voytek at sbt.net.au): User > query failed: Unknown column 'mailbox.enablesievec' in 'where clause' > > from dovecot.conf: > > # Virtual mail accounts. > userdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } > passdb { args = /etc/dovecot/dovecot-mysql.conf driver = sql } > > > # grep sieve dovecot.conf > protocols = pop3 imap sieve # Pigeonhole managesieve service. > # Per-user sieve settings. > sieve_dir = /%Lh/sieve sieve = /%Lh/sieve/dovecot.sieve # Global sieve > settings. sieve_global_dir = /var/vmail/sieve sieve_global_path > /var/vmail/sieve/dovecot.sieve > #sieve_before > #sieve_after > mail_plugins = $mail_plugins sieve log_path = /var/log/sieve.log > > > # cat dovecot-mysql.conf > driver = mysql default_pass_scheme = CRYPT connect = host=127.0.0.1 > dbname=..... snip....... # Required by 'doveadm mailbox ...'. > iterate_query = SELECT username AS user FROM mailbox password_query > SELECT password FROM mailbox WHERE username='%u' AND > active='1' user_query = SELECT \ '%u' AS master_user, \ > CONCAT(mailbox.storagebasedirectory, '/', mailbox.storagenode, '/', > mailbox.maildir) AS home, \ CONCAT('*:bytes=', mailbox.quota*1048576) AS > quota_rule \ FROM mailbox,domain \ > WHERE mailbox.username='%u' \ > AND mailbox.domain='%d' \ > AND mailbox.`enable%Ls%Lc`=1 \ > AND mailbox.domain=domain.domain \ > AND domain.backupmx=0 \ > AND domain.active=1 \ > AND mailbox.active=1 > > > >
On Sun, June 9, 2019 4:30 pm, Voytek Eymont via dovecot wrote:> On Sat, June 1, 2019 8:47 am, Voytek Eymont via dovecot wrote: > > > I'm still not sure what/where am I missing...? > > > do I need some tables in the mailbox sql file ...? > > or where is the extra 'c' from ? > > "Unknown column 'mailbox.enablesievec'" > > > I currently have like in mailbox table: > > > ... > enablelda | tinyint(1) | NO | MUL | 1 | | > | enablemanagesieve | tinyint(1) | NO | MUL | 1 > | | > | enablemanagesievesecured | tinyint(1) | NO | MUL | 1 > | | > | enablesieve | tinyint(1) | NO | MUL | 1 > | | > | enablesievesecured | tinyint(1) | NO | MUL | 1 > | | > | enableinternal | tinyint(1) | NO | MUL | 1 > | | > ... >do I need to rename above columns to add 'c' ...? I've created a new column as | enablesievec | tinyint(1) | NO | | NULL | | +--------------------------+-----------------+------+-----+---------------------+-------+ 54 rows in set (0.00 sec) and, now, no error # sievec -u voytek at sbt.net.au dovecot.sieve # did the naming convention change from sieve to sievec, is this my problem?
* Voytek Eymont via dovecot:> or where is the extra 'c' from ? > "Unknown column 'mailbox.enablesievec'"sievec is just Pigeonhole's Sieve script compiler. Try "man sievec" in a shell. I suggested you use it because sievec would report possible errors in your sieve scripts. I use script files without any SQL database involved; perhaps somebody else can help you troubleshoot that aspect. -Ralph