Okay, I will give that a shot and see if it works. I have another question also regarding sieve filters. I am running RSPAMD and have a Sieve filter set up to move emails marked as SPAM to the “Junk” folder. In my Sieve configuration, I also have the following configuration settings:

sieve_spamtest_status_type = score
sieve_spamtest_status_header = X-Spam-Level: .*? \[([[:digit:]]+\.[[:digit:]]+) / [[:digit:]]+\.[[:digit:]]+\];
sieve_spamtest_max_value = 10

What exactly is this doing and is this required if I am using a Sieve script to move the emails to Junk?

Here’s the rest of my Sieve config:

dict {
  sieve = mysql:redacted
}

plugin {
  sieve = dict:proxy::sieve

  sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_extensions = +editheader +mboxmetadata +servermetadata +imapflags +notify +spamtest +spamtestplus +virustest +relational +comparator-i;ascii-numeric

  sieve_global = /mnt/mail/sieve/global/
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment

  sieve_quota_max_storage = 0

  sieve_max_actions = 0
  sieve_max_script_size = 0

  sieve_pipe_bin_dir = /mnt/mail/sieve/pipe/

  #sieve_spamtest_status_type = score
#sieve_spamtest_status_header = X-Spam-Level: .*? \[([[:digit:]]+\.[[:digit:]]+) / [[:digit:]]+\.[[:digit:]]+\];
  #sieve_spamtest_max_value = 10

  sieve_before = /mnt/mail/sieve/global/before/spam.sieve

  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_before = file:/mnt/mail/sieve/global/learn-spam.sieve
  imapsieve_mailbox2_name = *
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before = file:/mnt/mail/sieve/global/learn-ham.sieve
}

Thank you!

------ Original Message ------
From "Aki Tuomi" <aki.tu...@open-xchange.com>
To "Aki Tuomi via dovecot" <dovecot@dovecot.org>; "Adam Miller" <a...@ardaemail.com>
Date 7/26/2024 12:54:28 AM
Subject Re: [EXT] Re[8]: Sieve Filters with MySQL

Sure. If you want. But this prevents your users from having multiple Sieve 
scripts, like one for vacation, and one for not-vacation.

But sure. you can have sieveFilter table with just email and id number of 1.

Aki

 On 26/07/2024 10:33 EEST Aki Tuomi via dovecot <dovecot@dovecot.org> wrote:


 It's OK to hide it to the mailbox table as sieveFilterID.

 Then you can do

 map {
   pattern = priv/sieve/name/default
   table = mailbox
   username_field = email
   value_field = sieveFilterID
 }

 Aki

 > On 26/07/2024 10:14 EEST Adam Miller <a...@ardaemail.com> wrote:
 >
 >
 > ------ Original Message ------
 > From "Aki Tuomi via dovecot" <dovecot@dovecot.org>
 > To "Adam Miller" <a...@ardaemail.com>; "Adam Miller via dovecot"
 > <dovecot@dovecot.org>
 > Date 7/23/2024 10:06:38 PM
 > Subject Re: Re[6]: Sieve Filters with MySQL
 >
 > >Hi!
 > >
 > >Usually how the "isActive" stuff is done is bit different.
 > >
 > >fwiw i would do the schema differently, and have two tables
 > >
 > >table 1:
 > >
 > >CREATE TABLE sieve_name_id (
 > >    id INT,
 > >    email VARCHAR(255),
 > >    name VARCHAR(255),
 > >    PRIMARY KEY(email, name)
 > >)
 > >
 > >table 2
 > >
 > >CREATE TABLE sieve_scripts (
 > >    id INT,
 > >    content TEXT
 > >)
 > >
 > >Then you can map 'default' to the active script id, or leave it missing 
when there is no script enabled. This is how it's supposed to work.
 > >
 > >It's probably not dead obvious but if you look at the dict configuration 
you have:
 > >
 > >map {
 > >    pattern = priv/sieve/name/$script_name
 > >    table = mailboxFilter
 > >    username_field = email
 > >    value_field = uuid
 > >    fields {
 > >       name = $script_name
 > >    }
 > >}
 > >
 > >You can see that the priv/sieve/name/ is not part of $script_name that is 
passed to sql in fields.
 > >
 > >btw, to debug SQL, you can try
 > >
 > >log_debug=category=sql
 > >
 > >next time.
 > >
 > >Aki
 > >
 > >
 > >>  On 24/07/2024 00:42 EEST Adam Miller via dovecot <dovecot@dovecot.org> 
wrote:
 > >>
 > >>
 > >>  Is it possible to include extra fields? For example, the “isActive” and
 > >>  make sure it is true / 1?
 > >>
 > >>  Thank you.
 > >>
 > >>
 > >>  ------ Original Message ------
 > >>  From "Aki Tuomi via dovecot" <dovecot@dovecot.org>
 > >>  To "Adam Miller" <a...@ardaemail.com>; "Adam Miller via dovecot"
 > >>  <dovecot@dovecot.org>
 > >>  Date 7/23/2024 4:44:30 AM
 > >>  Subject Re: Re[4]: Sieve Filters with MySQL
 > >>
 > >>  >You can try
 > >>  >
 > >>  >doveadm dict get -u adam proxy::sieve priv/sieve/name/default
 > >>  >
 > >>  >this should return id of the default script.
 > >>  >
 > >>  >doveadm dict get -u adam proxy::sieve priv/sieve/data/<id>
 > >>  >
 > >>  >should return the actual script.
 > >>  >
 > >>  >See https://doc.dovecot.org/configuration_manual/sieve/dict/
 > >>  >
 > >>  >Aki
 > >>  >
 > >>  >
 > >>  >>  On 23/07/2024 14:09 EEST Adam Miller via dovecot 
<dovecot@dovecot.org> wrote:
 > >>  >>
 > >>  >>
 > >>  >>  Yes, I get that. What I would like to know is what are the queries 
that
 > >>  >>  Dovecot / Sieve is executing so that I can better determine where the
 > >>  >>  issue exists? Is there anyway to see them? Do you see an issue 
anywhere
 > >>  >>  in my configuration files?
 > >>  >>
 > >>  >>  Thank you.
 > >>  >>
 > >>  >>
 > >>  >>  ------ Original Message ------
 > >>  >>  From "Aki Tuomi" <aki.tu...@open-xchange.com>
 > >>  >>  To "Adam Miller" <a...@ardaemail.com>; "Adam Miller via dovecot"
 > >>  >>  <dovecot@dovecot.org>
 > >>  >>  Date 7/23/2024 4:07:22 AM
 > >>  >>  Subject Re: Re[2]: Sieve Filters with MySQL
 > >>  >>
 > >>  >>  >Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >sieve: dict storage: script `default': Script `default' not found at
 > >>  >>  >path priv/sieve/name/default
 > >>  >>  >
 > >>  >>  >Aki
 > >>  >>  >
 > >>  >>  >>  On 23/07/2024 13:52 EEST Adam Miller via dovecot 
<dovecot@dovecot.org> wrote:
 > >>  >>  >>
 > >>  >>  >>
 > >>  >>  >>  Yes, that is where I got the error from. Here’s more from the 
log file:
 > >>  >>  >>
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: Pigeonhole version 0.5.16 (09c29328) initializing
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: include: sieve_global is not set; it is currently not 
possible to
 > >>  >>  >>  include `:global’ scripts.
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: Sieve imapsieve plugin for Pigeonhole version 0.5.16 
(09c29328)
 > >>  >>  >>  loaded
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: Sieve Extprograms plugin for Pigeonhole version 0.5.16 
(09c29328)
 > >>  >>  >>  loaded
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: dict storage: user=redacted, uri=proxy::sieve
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: dict storage: script `default': Script `default' not 
found at
 > >>  >>  >>  path priv/sieve/name/default
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: User has no active script in storage
 > >>  >>  >>  `dict:proxy::sieve;user=redacted’
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: User has no personal script
 > >>  >>  >>  Jul 23 10:34:40 lmtp(redacted)<228576><CM1ZFUCHn2bgfAMAwHdlHA>: 
Debug:
 > >>  >>  >>  sieve: No scripts to execute: reverting to default delivery.
 > >>  >>  >>
 > >>  >>  >>  Is there something specific I should be looking for?
 > >>  >>  >>
 > >>  >>  >>  Thank you!
 > >>  >>  >>
 > >>  >>  >>  ------ Original Message ------
 > >>  >>  >>  From "Aki Tuomi via dovecot" <dovecot@dovecot.org>
 > >>  >>  >>  To "Adam Miller" <a...@ardaemail.com>; "Adam Miller via dovecot"
 > >>  >>  >>  <dovecot@dovecot.org>
 > >>  >>  >>  Date 7/23/2024 3:35:17 AM
 > >>  >>  >>  Subject Re: Sieve Filters with MySQL
 > >>  >>  >>
 > >>  >>  >>  >Did you try with
 > >>  >>  >>  >
 > >>  >>  >>  >mail_debug=yes
 > >>  >>  >>  >
 > >>  >>  >>  >and
 > >>  >>  >>  >
 > >>  >>  >>  >log_debug=category=sieve
 > >>  >>  >>  >
 > >>  >>  >>  >Aki
 > >>  >>  >>  >
 > >>  >>  >>  >>  On 23/07/2024 13:18 EEST Adam Miller via dovecot 
<dovecot@dovecot.org> wrote:
 > >>  >>  >>  >>
 > >>  >>  >>  >>
 > >>  >>  >>  >>  Me again! I am trying to get sieve filters working with a 
MySQL backend
 > >>  >>  >>  >>  but same to be coming up short. Right now, the error I am 
getting
 > >>  >>  >>  >>  received is:
 > >>  >>  >>  >>
 > >>  >>  >>  >>  
------------------------------------------------------------------------------------------------------------------
 > >>  >>  >>  >>
 > >>  >>  >>  >>  "User has no active script in storage
 > >>  >>  >>  >>  dict:proxy::sieve;user=usern...@domain.com"
 > >>  >>  >>  >>
 > >>  >>  >>  >>  
------------------------------------------------------------------------------------------------------------------
 > >>  >>  >>  >>
 > >>  >>  >>  >>  The “usern...@domain.com” is obviously the email address of 
the
 > >>  >>  >>  >>  receiving mailbox.
 > >>  >>  >>  >>
 > >>  >>  >>  >>  Here’s my latest config:
 > >>  >>  >>  >>
 > >>  >>  >>  >>  # 2.3.16 (7e2e900c1a): /etc/dovecot/dovecot.conf
 > >>  >>  >>  >>  # Pigeonhole version 0.5.16 (09c29328)
 > >>  >>  >>  >>  # OS: Linux 6.5.0-1020-aws x86_64 Ubuntu 22.04.4 LTS nfs4
 > >>  >>  >>  >>  # Hostname: ec2-us-east-1a-arda-mail-001.ardaemail.com
 > >>  >>  >>  >>  auth_debug = yes
 > >>  >>  >>  >>  auth_mechanisms = plain login
 > >>  >>  >>  >>  auth_verbose = yes
 > >>  >>  >>  >>  auth_worker_max_count = 5
 > >>  >>  >>  >>  base_dir = /var/run/dovecot
 > >>  >>  >>  >>  debug_log_path = /var/log/dovecot/debug.log
 > >>  >>  >>  >>  default_internal_group = ardaemail
 > >>  >>  >>  >>  default_internal_user = ardaemail
 > >>  >>  >>  >>  dict {
 > >>  >>  >>  >>     quota = mysql:/etc/dovecot/inc.d/inc.quota.user.sql.conf
 > >>  >>  >>  >>     sieve = mysql:/etc/dovecot/inc.d/inc.sieve.sql.conf
 > >>  >>  >>  >>     sql = mysql:/etc/dovecot/inc.d/inc.lastlogin.sql.conf
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  hostname = = mail.ardaemail.com
 > >>  >>  >>  >>  info_log_path = /var/log/dovecot/info.log
 > >>  >>  >>  >>  instance_name = ec2-us-east-1a-arda-mail-001.ardaemail.com
 > >>  >>  >>  >>  listen = 172.16.0.200
 > >>  >>  >>  >>  log_path = /var/log/dovecot/general.log
 > >>  >>  >>  >>  login_greeting = Welcome to ArdaEmail
 > >>  >>  >>  >>  mail_debug = yes
 > >>  >>  >>  >>  mail_gid = ardaemail
 > >>  >>  >>  >>  mail_location = maildir:/mnt/mail/%d/%n
 > >>  >>  >>  >>  mail_max_userip_connections = 1000
 > >>  >>  >>  >>  mail_plugins = " quota mailbox_alias"
 > >>  >>  >>  >>  mail_server_admin = mailto:supp...@ardaemail.com
 > >>  >>  >>  >>  mail_uid = ardaemail
 > >>  >>  >>  >>  maildir_stat_dirs = yes
 > >>  >>  >>  >>  namespace inbox {
 > >>  >>  >>  >>     inbox = yes
 > >>  >>  >>  >>     location =
 > >>  >>  >>  >>     mailbox Archive {
 > >>  >>  >>  >>       auto = subscribe
 > >>  >>  >>  >>       special_use = \Archive
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     mailbox Drafts {
 > >>  >>  >>  >>       auto = subscribe
 > >>  >>  >>  >>       special_use = \Drafts
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     mailbox Junk {
 > >>  >>  >>  >>       auto = subscribe
 > >>  >>  >>  >>       autoexpunge = 90 days
 > >>  >>  >>  >>       special_use = \Junk
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     mailbox Sent {
 > >>  >>  >>  >>       auto = subscribe
 > >>  >>  >>  >>       special_use = \Sent
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     mailbox Trash {
 > >>  >>  >>  >>       auto = subscribe
 > >>  >>  >>  >>       autoexpunge = 30 days
 > >>  >>  >>  >>       special_use = \Trash
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     prefix =
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  passdb {
 > >>  >>  >>  >>     args = /etc/dovecot/inc.d/inc.sql.conf
 > >>  >>  >>  >>     driver = sql
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  plugin {
 > >>  >>  >>  >>     last_login_dict = proxy::sql
 > >>  >>  >>  >>     last_login_key = # hidden, use -P to show it
 > >>  >>  >>  >>     last_login_precision = ms
 > >>  >>  >>  >>     mailbox_alias_new = Junk Email
 > >>  >>  >>  >>     mailbox_alias_new2 = Junk E-mail
 > >>  >>  >>  >>     mailbox_alias_new3 = Sent Messages
 > >>  >>  >>  >>     mailbox_alias_new4 = Sent Items
 > >>  >>  >>  >>     mailbox_alias_new5 = Deleted Items
 > >>  >>  >>  >>     mailbox_alias_new6 = Junk Mail
 > >>  >>  >>  >>     mailbox_alias_old = Junk
 > >>  >>  >>  >>     mailbox_alias_old2 = Junk
 > >>  >>  >>  >>     mailbox_alias_old3 = Sent
 > >>  >>  >>  >>     mailbox_alias_old4 = Sent
 > >>  >>  >>  >>     mailbox_alias_old5 = Trash
 > >>  >>  >>  >>     mailbox_alias_old6 = Junk
 > >>  >>  >>  >>     quota = dict:User Quota::proxy::quota
 > >>  >>  >>  >>     quota_exceeded_message = Mailbox is full and cannot 
receive any more
 > >>  >>  >>  >>  emails
 > >>  >>  >>  >>     quota_status_nouser = DUNNO
 > >>  >>  >>  >>     quota_status_success = DUNNO
 > >>  >>  >>  >>     quota_warning = bytes=95%% quota-warning 95 %u
 > >>  >>  >>  >>     quota_warning2 = bytes=85%% quota-warning 85 %u
 > >>  >>  >>  >>     quota_warning3 = bytes=75%% quota-warning 75 %u
 > >>  >>  >>  >>     sieve = dict:proxy::sieve
 > >>  >>  >>  >>     sieve_plugins = sieve_imapsieve sieve_extprograms
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  postmaster_address = postmas...@ardaemail.com
 > >>  >>  >>  >>  protocols = imap lmtp
 > >>  >>  >>  >>  service auth-worker {
 > >>  >>  >>  >>     group = ardaemail
 > >>  >>  >>  >>     user = ardaemail
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service auth {
 > >>  >>  >>  >>     group = ardaemail
 > >>  >>  >>  >>     unix_listener /var/spool/postfix/private/auth {
 > >>  >>  >>  >>       group = postfix
 > >>  >>  >>  >>       mode = 0666
 > >>  >>  >>  >>       user = postfix
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     unix_listener auth-userdb {
 > >>  >>  >>  >>       group = ardaemail
 > >>  >>  >>  >>       mode = 0666
 > >>  >>  >>  >>       user = ardaemail
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     user = ardaemail
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service imap-login {
 > >>  >>  >>  >>     inet_listener imap {
 > >>  >>  >>  >>       port = 0
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     inet_listener imaps {
 > >>  >>  >>  >>       port = 993
 > >>  >>  >>  >>       ssl = yes
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     process_min_avail = 8
 > >>  >>  >>  >>     service_count = 0
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service imap {
 > >>  >>  >>  >>     vsz_limit = 4 G
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service lmtp {
 > >>  >>  >>  >>     unix_listener /var/spool/postfix/private/dovecot-lmtp {
 > >>  >>  >>  >>       group = postfix
 > >>  >>  >>  >>       mode = 0666
 > >>  >>  >>  >>       user = postfix
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service pop3-login {
 > >>  >>  >>  >>     inet_listener pop3 {
 > >>  >>  >>  >>       port = 0
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>     inet_listener pop3s {
 > >>  >>  >>  >>       port = 0
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service quota-status {
 > >>  >>  >>  >>     executable = /usr/lib/dovecot/quota-status -p postfix
 > >>  >>  >>  >>     unix_listener /var/spool/postfix/private/quota-status {
 > >>  >>  >>  >>       user = postfix
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service quota-warning {
 > >>  >>  >>  >>     executable = script /etc/dovecot/bin/quota-warning.sh
 > >>  >>  >>  >>     unix_listener quota-warning {
 > >>  >>  >>  >>       group = ardaemail
 > >>  >>  >>  >>       mode = 0666
 > >>  >>  >>  >>       user = ardaemail
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  service submission-login {
 > >>  >>  >>  >>     inet_listener submission {
 > >>  >>  >>  >>       port = 0
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  ssl = required
 > >>  >>  >>  >>  ssl_cert = 
</etc/letsencrypt/live/mail.ardaemail.com/fullchain.pem
 > >>  >>  >>  >>  ssl_client_ca_dir = /etc/ssl/certs
 > >>  >>  >>  >>  ssl_dh = # hidden, use -P to show it
 > >>  >>  >>  >>  ssl_key = # hidden, use -P to show it
 > >>  >>  >>  >>  ssl_prefer_server_ciphers = yes
 > >>  >>  >>  >>  userdb {
 > >>  >>  >>  >>     args = /etc/dovecot/inc.d/inc.sql.conf
 > >>  >>  >>  >>     driver = sql
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  protocol imap {
 > >>  >>  >>  >>     imap_metadata = yes
 > >>  >>  >>  >>     mail_plugins = " quota mailbox_alias imap_sieve imap_quota 
last_login"
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>  protocol lmtp {
 > >>  >>  >>  >>     mail_plugins = " quota mailbox_alias sieve”
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>
 > >>  >>  >>  >>  This output clearly does not include my Sieve configuration 
maps so
 > >>  >>  >>  >>  here’s those:
 > >>  >>  >>  >>
 > >>  >>  >>  >>  connect = host=redacted dbname=redacted user=redacted 
password=redacted
 > >>  >>  >>  >>
 > >>  >>  >>  >>  map {
 > >>  >>  >>  >>     pattern = priv/sieve/name/$script_name
 > >>  >>  >>  >>     table = mailboxFilter
 > >>  >>  >>  >>     username_field = email
 > >>  >>  >>  >>     value_field = uuid
 > >>  >>  >>  >>     fields {
 > >>  >>  >>  >>       name = $script_name
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>
 > >>  >>  >>  >>  map {
 > >>  >>  >>  >>     pattern = priv/sieve/data/$uuid
 > >>  >>  >>  >>     table = mailboxFilter
 > >>  >>  >>  >>     username_field = email
 > >>  >>  >>  >>     value_field = filter
 > >>  >>  >>  >>     fields {
 > >>  >>  >>  >>       uuid = $uuid
 > >>  >>  >>  >>     }
 > >>  >>  >>  >>  }
 > >>  >>  >>  >>
 > >>  >>  >>  >>  And here’s the table schema:
 > >>  >>  >>  >>
 > >>  >>  >>  >>  CREATE TABLE `mailboxFilter` (
 > >>  >>  >>  >>     `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 > >>  >>  >>  >>     `uuid` varchar(36) NOT NULL,
 > >>  >>  >>  >>     `email` varchar(192) NOT NULL,
 > >>  >>  >>  >>     `name` varchar(255) NOT NULL,
 > >>  >>  >>  >>     `filter` longtext NOT NULL,
 > >>  >>  >>  >>     `isActive` bit(1) NOT NULL DEFAULT b’1’,
 > >>  >>  >>  >>     `createdAt` datetime NOT NULL DEFAULT current_timestamp(),
 > >>  >>  >>  >>     `updatedAt` datetime NOT NULL DEFAULT current_timestamp() 
ON UPDATE
 > >>  >>  >>  >>  current_timestamp(),
 > >>  >>  >>  >>     PRIMARY KEY (`id`),
 > >>  >>  >>  >>     UNIQUE KEY `UUID` (`uuid`),
 > >>  >>  >>  >>     UNIQUE KEY `EMAIL` (`email`)
 > >>  >>  >>  >>  ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4
 > >>  >>  >>  >>  COLLATE=utf8mb4_general_ci;
 > >>  >>  >>  >>
 > >>  >>  >>  >>  When I run manually queries, everything works fine though I 
am not
 > >>  >>  >>  >>  entirely sure what the queries are that Dovecot is executing.
 > >>  >>  >>  >>
 > >>  >>  >>  >>  Any help is appreciated! Also, if I could use the “isActive” 
field, that
 > >>  >>  >>  >>  would be great as well. My plan to start here is to only 
have one record
 > >>  >>  >>  >>  in the table per mailbox which would contain all Sieve 
filters.
 > >>  >>  >>  >>  Eventually, it would be nice if I could adjust the 
configuration to
 > >>  >>  >>  >>  allow for more than one that returns concatenated so any 
help there
 > >>  >>  >>  >>  would be great as well!
 > >>  >>  >>  >>
 > >>  >>  >>  >>  Thank you!
 > >>  >>  >>  >>  _______________________________________________
 > >>  >>  >>  >>  dovecot mailing list -- dovecot@dovecot.org
 > >>  >>  >>  >>  To unsubscribe send an email to dovecot-le...@dovecot.org
 > >>  >>  >>  >_______________________________________________
 > >>  >>  >>  >dovecot mailing list -- dovecot@dovecot.org
 > >>  >>  >>  >To unsubscribe send an email to dovecot-le...@dovecot.org
 > >>  >>  >>  _______________________________________________
 > >>  >>  >>  dovecot mailing list -- dovecot@dovecot.org
 > >>  >>  >>  To unsubscribe send an email to dovecot-le...@dovecot.org
 > >>  >>  _______________________________________________
 > >>  >>  dovecot mailing list -- dovecot@dovecot.org
 > >>  >>  To unsubscribe send an email to dovecot-le...@dovecot.org
 > >>  >_______________________________________________
 > >>  >dovecot mailing list -- dovecot@dovecot.org
 > >>  >To unsubscribe send an email to dovecot-le...@dovecot.org
 > >>  _______________________________________________
 > >>  dovecot mailing list -- dovecot@dovecot.org
 > >>  To unsubscribe send an email to dovecot-le...@dovecot.org
 > >_______________________________________________
 > >dovecot mailing list -- dovecot@dovecot.org
 > >To unsubscribe send an email to dovecot-le...@dovecot.org
 _______________________________________________
 dovecot mailing list -- dovecot@dovecot.org
 To unsubscribe send an email to dovecot-le...@dovecot.org
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to