Config below.

I assumed the same at first, but deliveries for other "details" work without issues. Dovecot's 'subscriptions' file is present in the maildir which seems to conflict with the mailbox lookup.

Dejan

-----


# 2.3.18 (9dd8408c18): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.18 (0bc28b32)
# OS: FreeBSD 13.0-RELEASE-p13 amd64  zfs
auth_cache_negative_ttl = 0
auth_cache_ttl = 0
auth_failure_delay = 8 secs
auth_master_user_separator = *
auth_mechanisms = plain login
default_client_limit = 10000
default_process_limit = 1000
default_vsz_limit = 2 G
first_valid_gid = 500
imap_idle_notify_interval = 5 mins
last_valid_gid = 10000
last_valid_uid = 10000
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = ::
lmtp_save_to_detail_mailbox = yes
log_path = /var/log/dovecot
mail_attribute_dict = file:%h/Maildir/dovecot-attributes
mail_gid = 10000
mail_location = maildir:/var/mails/%Ld/%Ln/Maildir:LAYOUT=fs:INDEX=/var/mails/%Ld/%Ln/flatcurve_index
mail_plugins = " zlib quota quota_clone welcome fts fts_flatcurve"
mail_save_crlf = yes
mail_uid = 10000
mail_vsize_bg_after_count = 100
mailbox_list_index_very_dirty_syncs = yes
maildir_empty_new = yes
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
metric auth_failures {
  filter = event=auth_request_finished AND NOT success=yes
}
metric auth_success {
  filter = event=auth_request_finished AND success=yes
}
metric imap_command {
  filter = event=imap_command_finished
  group_by = cmd_name tagged_reply_state
}
metric mail_delivery {
  filter = event=mail_delivery_finished
  group_by = duration:exponential:1:5:10
}
metric smtp_command {
  filter = event=smtp_server_command_finished
  group_by = cmd_name status_code duration:exponential:1:5:10
}
namespace inbox {
  inbox = yes
  location =
  mailbox Archive {
    auto = create
    special_use = \Archive
  }
  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 = 60 days
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  args = /usr/local/etc/dovecot/deny.%s
  deny = yes
  driver = passwd-file
}
passdb {
  args = /usr/local/etc/dovecot/master-users
  driver = passwd-file
  master = yes
  pass = yes
}
passdb {
args = scheme=SHA512-CRYPT username_format=%u /usr/local/etc/dovecot/passwd default_fields = ssl=any-cert userdb_home=/var/mails/%Ld/%Ln userdb_uid=10000 userdb_gid=10000
  driver = passwd-file
}
passdb {
args = scheme=SHA512-CRYPT username_format=%u /usr/local/etc/dovecot/passwd-tmp default_fields = ssl=any-cert userdb_home=/var/mails/%Ld/%Ln userdb_uid=10000 userdb_gid=10000
  driver = passwd-file
}
plugin {
  fts = flatcurve
  fts_flatcurve_commit_limit = 500
  fts_flatcurve_max_term_size = 30
  fts_flatcurve_min_term_size = 2
  fts_flatcurve_optimize_limit = 10
  fts_flatcurve_rotate_size = 5000
  fts_flatcurve_rotate_time = 5000
  fts_flatcurve_substring_search = no
  fts_languages = en es de da fi fr it nl no pt ro ru sv tr
  fts_tokenizer_generic = algorithm=simple
  fts_tokenizers = generic email-address
imapsieve_mailbox1_before = file:/usr/local/etc/dovecot/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY APPEND
  imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before = file:/usr/local/etc/dovecot/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  last_login_dict = redis:host=127.0.0.1:port=6379:db=1
  quota = count:Mailbox quota
  quota_clone_dict = redis:host=127.0.0.1:port=6379:db=1
  quota_max_mail_size = 800M
  quota_vsizes = yes
  recipient_delimiter = +
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_before = /usr/local/etc/dovecot/sieve/global.sieve
  sieve_before2 = /var/mails/%Ld/%Ln/sieve-before
  sieve_default_name = Master Script
  sieve_duplicate_default_period = 1h
  sieve_duplicate_max_period = 1d
  sieve_editheader_max_header_size = 1k
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment +editheader
  sieve_max_redirects = 25
  sieve_pipe_bin_dir = /usr/local/etc/dovecot/sieve
  sieve_plugins = sieve_imapsieve sieve_extprograms
  sieve_quota_max_scripts = 20
  sieve_redirect_envelope_from = recipient
  sieve_vacation_default_period = 7d
  sieve_vacation_dont_check_recipient = no
  sieve_vacation_max_period = 0
  sieve_vacation_min_period = 1d
  sieve_vacation_send_from_recipient = yes
  welcome_script = welcome %d %n
}
protocols = imap pop3 lmtp sieve
service auth-worker {
  client_limit = 1
  process_limit = 50
  service_count = 1
  user = $default_internal_user
}
service auth {
  client_limit = 25000
  process_limit = 1
  unix_listener auth-userdb {
    group = $default_internal_user
    mode = 0666
    user = $default_internal_user
  }
  user = $default_internal_user
}
service dict {
  process_limit = 6
  user = $default_internal_user
}
service doveadm {
  inet_listener {
    port = 9999
    ssl = yes
  }
  inet_listener http {
    port = 9010
    ssl = yes
  }
  vsz_limit = 2 G
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
  process_min_avail = 12
  service_count = 0
  vsz_limit = 1 G
}
service imap {
  client_limit = 1
  idle_kill = 5 mins
  process_limit = 10000
  service_count = 1
  vsz_limit = 2 G
}
service indexer-worker {
  process_limit = 25
  vsz_limit = 2 G
}
service lmtp {
  inet_listener lmtp {
    port = 24
    ssl = yes
  }
  process_limit = 500
  process_min_avail = 10
  vsz_limit = 2 G
}
service managesieve-login {
  client_limit = 1000
  inet_listener sieve {
    port = 4190
    ssl = yes
  }
  process_min_avail = 6
  service_count = 0
  vsz_limit = 512 M
}
service managesieve {
  process_limit = 1024
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
  process_min_avail = 12
  service_count = 0
  vsz_limit = 1 G
}
service pop3 {
  client_limit = 1
  idle_kill = 5 mins
  process_limit = 10000
  service_count = 200
  vsz_limit = 2 G
}
service stats {
  inet_listener http {
    port = 9900
  }
}
service submission-login {
  inet_listener submission {
    port = 0
  }
}
service welcome {
  executable = script /usr/local/etc/dovecot/welcome/welcome.sh
  unix_listener welcome {
    user = vmail
  }
  user = vmail
}
ssl = required
ssl_cipher_list = ALL:!DH:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW@STRENGTH
ssl_client_ca_file = /usr/local/etc/dovecot/ca-chain.cert.pem
ssl_prefer_server_ciphers = yes
submission_host = [::1]:9125
userdb {
  args = username_format=%u /usr/local/etc/dovecot/passwd
  default_fields = home=/var/mails/%Ld/%Ln uid=10000 gid=10000
  driver = passwd-file
}
userdb {
  args = username_format=%u /usr/local/etc/dovecot/passwd-tmp
  default_fields = home=/var/mails/%Ld/%Ln uid=10000 gid=10000
  driver = passwd-file
}
verbose_proctitle = yes
protocol lmtp {
  mail_fsync = optimized
mail_plugins = " zlib quota quota_clone welcome fts fts_flatcurve sieve last_login"
  plugin {
    last_login_dict = redis:host=127.0.0.1:port=6379:db=1
  }
}
protocol !indexer-worker {
  mail_vsize_bg_after_count = 0
}
protocol imap {
  imap_metadata = yes
  mail_max_userip_connections = 50
mail_plugins = " zlib quota quota_clone welcome fts fts_flatcurve imap_sieve last_login"
}
protocol sieve {
  mail_max_userip_connections = 20
}
protocol pop3 {
mail_plugins = " zlib quota quota_clone welcome fts fts_flatcurve last_login"
}

On 15.03.23 12:47, Aki Tuomi wrote:

On 15/03/2023 13:12 EET Dejan <m...@dejanstrbac.com> wrote:

lmtp_save_to_detail_mailbox = yes

Plus-delivery conflicts with existing, reserved files such as
"subscriptions":

Message for kim+subscriptions@ results in:

lmtp(kim@***.com)<14493><SK7sEvaHEWSdOAAAvAYmHA>: Error:
....stat(/var/mails/***/kim/Maildir/subscriptions/tmp) failed: Not a
directory

Version: 2.3.18

Hi!

Can you provide your doveconf -n output, I think this might be a 
misconfiguration.

Aki


Reply via email to