imapsieve: setting imapsieve_url disables admin scripts

Gedalya gedalya at gedalya.net
Tue Oct 27 12:32:16 EET 2020


Hello,

The documentation says imapsieve_url "has no effect on the administrator-controlled Sieve scripts". However, when setting this item, I get lines such as:

Error: imapsieve: mailbox INBOX: Failed to read /shared/imapsieve/script mailbox attribute: Mailbox attributes not enabled

and that's it. imapsieve_mailboxXXX_* settings are completely ignored. Unsetting imapsieve_url makes it all work again.

# 2.3.11.3 (502c39af9): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.11 (6c69c917)
# OS: Linux 4.19.0-5-amd64 x86_64 Debian bullseye/sid xfs
# Hostname: ------
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose = yes
imapc_features = rfc822.size fetch-headers
imapc_host = imap.gmail.com
imapc_port = 993
imapc_ssl = imaps
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_gid = vmail
mail_home = /srv/mail/domains/%d/%n
mail_location = mdbox:/srv/mail/domains/%d/%n/mdbox
mail_plugins = quota fts fts_solr
mail_prefetch_count = 20
mail_privileged_group = mail
mail_uid = vmail
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
mdbox_preallocate_space = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 30 days
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 30 days
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  args = /etc/dovecot/master-users
  driver = passwd-file
  master = yes
  pass = yes
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
plugin {
  fts = solr
  fts_autoindex = yes
  fts_solr = url=http://127.0.0.1:8983/solr/dovecot/
  fts_tika = http://127.0.0.1:9998/tika/
  imapsieve_mailbox1_before = file:/usr/local/lib/imapsieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/usr/local/lib/imapsieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  imapsieve_mailbox3_before = file:/usr/local/lib/imapsieve/report-spam.sieve
  imapsieve_mailbox3_causes = COPY
  imapsieve_mailbox3_name = Junk2
  imapsieve_mailbox4_before = file:~/sieve/IMAP-Sent.sieve
  imapsieve_mailbox4_causes = APPEND COPY
  imapsieve_mailbox4_name = Sent
  quota = count:User quota:noenforcing
  quota_rule = *:storage=5120M
  quota_vsizes = yes
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /etc/dovecot/sieve-global/fileinto-spam.sieve
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_pipe_bin_dir = /usr/local/lib/imapsieve
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
pop3_fast_size_lookups = yes
pop3_no_flag_updates = yes
protocols = " imap lmtp sieve pop3"
quota_full_tempfail = yes
service auth-worker {
  user = $default_internal_user
}
service auth {
  unix_listener auth-client {
    group = Debian-exim
    mode = 0660
    user = Debian-exim
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0660
    user = vmail
  }
  user = $default_internal_user
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  service_count = 0
}
service imap {
  vsz_limit = 512 M
}
service lmtp {
  inet_listener lmtp {
    address = -------
    port = 2525
  }
  unix_listener lmtp {
    group = Debian-exim
    mode = 0660
    user = root
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  service_count = 0
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  service_count = 0
}
ssl = required
ssl_cert = </etc/letsencrypt/live/--------/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
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
verbose_proctitle = yes
protocol lmtp {
  mail_plugins = quota fts fts_solr sieve
  ssl = no
}
protocol !indexer-worker {
  mail_vsize_bg_after_count = 100
}
protocol lda {
  mail_plugins = quota fts fts_solr sieve
}
protocol imap {
  mail_max_userip_connections = 30
  mail_plugins = quota fts fts_solr imap_quota imap_sieve
}
protocol sieve {
  mail_max_userip_connections = 10
}



More information about the dovecot mailing list