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