fts_autoindex_exclude for everything in a namespace?

Daniel J. Luke dluke at geeklair.net
Thu Jun 3 01:30:34 EEST 2021


Hi,

I've recently moved a system from using procmail to delivering via dovecot-lmtp w/ sieve - and it's great! I've got a copy of incoming mail going into mbox archives (that I compress after months end), and my mail log is full of "Error: fts: Failed to sync mailbox #Archive: Mailbox isn't selectable", though. I /think/ fts_autoindex_exclude = #Archive/* is what I want, but it doesn't seem to silence the error. I don't need the #Archive mailboxes visible to clients, but I don't mind if they are. I tried some setting the archive prefix = AutoArchive and setting list = yes, but that didn't silence the error.

I feel like I'm probably missing something obvious :)

dovecot 2.3.14 / pigenohole 0.5.14

relevant config from dovecot -n:

mail_location = mbox:~/Mail/:INBOX=~/.mbox:INDEX=~/.dovecot-indexes
mail_plugins = fts fts_lucene zlib

namespace {
  inbox = yes
  location =
  mailbox Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox Trash {
    auto = no
    special_use = \Trash
  }
  mailbox spam {
    auto = create
    special_use = \Junk
  }
  prefix =
  separator = /
}
namespace archive {
  inbox = no
  list = no
  location = mbox:~/MailArchive/
  prefix = "#Archive/"
  separator = /
}
plugin {
  fts = lucene
  fts_autoindex = yes
  fts_lucene = whitespace_chars=@.
  recipient_delimiter = +
  sieve = file:~/.sieve;active=~/.dovecot.sieve
  sieve_default = /usr/local/etc/dovecot/sieve/default.sieve
  sieve_default_name = file_spam
}

and the archive sieve script (which works) looks like this:

if currentdate :matches "month" "*"
{
    set "month" "${1}";
}
if currentdate :matches "year" "*"
{
    set "year" "${1}";
}
if true
{
    fileinto :copy :create "#Archive/${year}-${month}";
}

-- 
Daniel J. Luke



More information about the dovecot mailing list