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