Hello
On Tuesday, 22. April 2025 13:00 CEST, Stephan Bosch <stephan@rename-it.nl> wrote:
Op 15-4-2025 om 08:35 schreef Alexander Skwar via dovecot:
error: msgid=<1498541093.5055416.1744698567525@email.bluewin.ch>: fileinto action: failed to store into mailbox '🎗 Social Networks': Mailbox doesn't exist: 🎗 Social Networks.
The mailbox "🎗 Social Networks" *does* exist - it's a "main folder", so to say; NOT under "INBOX".
Why is that so? How could that be debugged properly?
You should begin by posting your configuration (
dovecot -n
)
It's a bit much, I would've thought. But, sure.
The issue is, that some filters work, while some others do not.
Filter:
if anyof (address :contains ["to","cc"] "cassandra@skwar.me", address :contains ["to","cc"] "cassy@skwar.me", address :contains ["to","cc"] "c@skwar.me") { addflag "$label7"; addflag "\\Seen"; fileinto "INBOX/🫥 Privat/🦸🏼♀ Cassandra"; stop; }
The folders exist.
I've got this additional filter:
if anyof (address :regex :comparator "i;octet" "from" "@(swisscom\\.com|skwar\\.me|5y5\\.one)$", address :contains "from" "alexander-s@bluewin.ch") { addflag "$label3"; fileinto "INBOX/🫥 Privat"; }
It works fine — an email from alexander-s@bluewin.ch was filed into "INBOX/🫥 Privat".
/var/vmail/sieve/a@skwar.xyz.sieve.log contains:
sieve: info: started log at 2025-04-22 21:34:53 +0200. error: msgid=<890352f2-9eab-4574-a871-a56e19d47ee0@facebookmail.com>: fileinto action: failed to store into mailbox 'INBOX/🫥 Privat/🦸🏼♀ Cassandra': Mailbox doesn't exist: INBOX/🫥 Privat/🦸🏼♀ Cassandra.
dovecot -n:
2.3.21.1 (d492236fa0): /etc/dovecot/dovecot.conf
Pigeonhole version 0.5.21.1 (49005e73)
OS: Linux 6.1.0-27-amd64 x86_64
Hostname: 2494cd69e25c
auth_cache_negative_ttl = 1 mins
auth_cache_size = 10 M
auth_cache_ttl = 5 mins
auth_cache_verify_password_with_worker = yes
auth_master_user_separator = *
auth_mechanisms = plain login
auth_verbose_passwords = sha1:6
default_client_limit = 10400
default_vsz_limit = 1 G
dict {
sieve_after = mysql:/etc/dovecot/sql/dovecot-dict-sql-sieve_after.conf
sieve_before = mysql:/etc/dovecot/sql/dovecot-dict-sql-sieve_before.conf
sqlquota = mysql:/etc/dovecot/sql/dovecot-dict-sql-quota.conf
}
doveadm_port = 12345
imap_max_line_length = 2 M
listen = *,[::]
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k
login_trusted_networks = 172.22.1.0/24 fd4d:6169:6c63:6f77::/64
mail_attachment_dir = /var/attachments
mail_attachment_fs = crypt:set_prefix=mail_crypt_global:posix:
mail_attribute_dict = file:%h/dovecot-attributes
mail_home = /var/vmail/%d/%n
mail_location = maildir:~/
mail_max_userip_connections = 500
mail_plugins = </etc/dovecot/mail_plugins
mail_prefetch_count = 30
mail_shared_explicit_inbox = yes
maildir_very_dirty_syncs = 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 vacation-seconds editheader imapflags notify imapsieve vnd.dovecot.imapsieve
namespace {
list = children
location = maildir:%%h/Maildir:INDEX=~/Maildir/Shared/%%u
prefix = Shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
location =
mailbox Ανεπιθύμητα {
special_use = \Junk
}
mailbox Απεσταλμένα {
special_use = \Sent
}
mailbox Αρχειοθετημένα {
special_use = \Archive
}
mailbox "Κάδος απορριμάτων" {
special_use = \Trash
}
mailbox Πρόχειρα {
special_use = \Drafts
}
mailbox Архив {
special_use = \Archive
}
mailbox Архів {
special_use = \Archive
}
mailbox Видалені {
special_use = \Trash
}
mailbox "Видалені елементи" {
special_use = \Trash
}
mailbox Корзина {
special_use = \Trash
}
mailbox Кошик {
special_use = \Trash
}
mailbox Надіслані {
special_use = \Sent
}
mailbox "Надіслані елементи" {
special_use = \Sent
}
mailbox "Небажана пошта" {
special_use = \Junk
}
mailbox "Нежелательная почта" {
special_use = \Junk
}
mailbox Отправленные {
special_use = \Sent
}
mailbox "Отправленные элементы" {
special_use = \Sent
}
mailbox Спам {
special_use = \Junk
}
mailbox Удаленные {
special_use = \Trash
}
mailbox "Удаленные элементы" {
special_use = \Trash
}
mailbox Чернетки {
special_use = \Drafts
}
mailbox Черновики {
special_use = \Drafts
}
mailbox 垃圾箱 {
special_use = \Junk
}
mailbox 垃圾 {
special_use = \Junk
}
mailbox 已删除消息 {
special_use = \Trash
}
mailbox 已删除邮件 {
special_use = \Trash
}
mailbox 已发送消息 {
special_use = \Sent
}
mailbox 已发送邮件 {
special_use = \Sent
}
mailbox 已发送 {
special_use = \Sent
}
mailbox 废件箱 {
special_use = \Trash
}
mailbox 归档 {
special_use = \Archive
}
mailbox 草稿箱 {
special_use = \Drafts
}
mailbox 草稿 {
special_use = \Drafts
}
mailbox Archív {
special_use = \Archive
}
mailbox Archief {
special_use = \Archive
}
mailbox Archiv {
special_use = \Archive
}
mailbox Archive {
auto = subscribe
special_use = \Archive
}
mailbox Archives {
special_use = \Archive
}
mailbox Archivovať {
special_use = \Archive
}
mailbox Arkeverat {
special_use = \Archive
}
mailbox Arkiv {
special_use = \Archive
}
mailbox "Arkiveret mails" {
special_use = \Archive
}
mailbox Arquivo {
special_use = \Archive
}
mailbox Arquivos {
special_use = \Archive
}
mailbox "Borttagna Meddelanden" {
special_use = \Trash
}
mailbox Concepten {
special_use = \Drafts
}
mailbox "Deleted Items" {
special_use = \Trash
}
mailbox "Deleted Messages" {
special_use = \Trash
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Entwürfe {
special_use = \Drafts
}
mailbox Enviados {
special_use = \Sent
}
mailbox "Gelöschte Elemente" {
special_use = \Trash
}
mailbox "Gelöschte Objekte" {
special_use = \Trash
}
mailbox Gesendet {
special_use = \Sent
}
mailbox "Gesendete Elemente" {
special_use = \Sent
}
mailbox "Gesendete Objekte" {
special_use = \Sent
}
mailbox "Infikované položky" {
special_use = \Junk
}
mailbox "Itens Enviados" {
special_use = \Sent
}
mailbox "Itens Excluídos" {
special_use = \Trash
}
mailbox "Itens Excluidos" {
special_use = \Trash
}
mailbox Junk-E-Mail {
special_use = \Junk
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox "Junk E-Mail" {
special_use = \Junk
}
mailbox Kladde {
special_use = \Drafts
}
mailbox Koš {
special_use = \Trash
}
mailbox Koncepty {
special_use = \Drafts
}
mailbox Lixeira {
special_use = \Trash
}
mailbox "Lixo Eletrônico" {
special_use = \Junk
}
mailbox "Nevyžádaná pošta" {
special_use = \Junk
}
mailbox "Nevyžiadaná pošta" {
special_use = \Junk
}
mailbox "Odeslaná pošta" {
special_use = \Sent
}
mailbox "Odoslaná pošta" {
special_use = \Sent
}
mailbox Odoslané {
special_use = \Sent
}
mailbox "Odstránené položky" {
special_use = \Trash
}
mailbox "Odstraněná pošta" {
special_use = \Trash
}
mailbox "Ongewenste e-mail" {
special_use = \Junk
}
mailbox Papierkorb {
special_use = \Trash
}
mailbox Prullenbak {
special_use = \Trash
}
mailbox Rascunhos {
special_use = \Drafts
}
mailbox Rubbish {
special_use = \Trash
}
mailbox Sendt {
special_use = \Sent
}
mailbox "Sendte mails" {
special_use = \Sent
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox "Sent Items" {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox "Skickade Meddelanden" {
special_use = \Sent
}
mailbox Skickat {
special_use = \Sent
}
mailbox Skräp {
special_use = \Trash
}
mailbox Skraldespand {
special_use = \Trash
}
mailbox "Slettet mails" {
special_use = \Trash
}
mailbox Spam {
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
mailbox Udkast {
special_use = \Drafts
}
mailbox Utkast {
special_use = \Drafts
}
mailbox "Verwijderde items" {
special_use = \Trash
}
mailbox Verzonden {
special_use = \Sent
}
mailbox "Verzonden items" {
special_use = \Sent
}
prefix =
separator = /
}
passdb {
args = file=/etc/dovecot/auth/passwd-verify.lua blocking=yes cache_key=#hidden_use-P_to_show#:%u:%w
driver = lua
}
passdb {
args = /etc/dovecot/dovecot-master.passwd
driver = passwd-file
master = yes
skip = authenticated
}
passdb {
args = file=/etc/dovecot/auth/passwd-verify.lua blocking=yes
driver = lua
}
plugin {
acl = vfile
acl_anyone = </etc/dovecot/acl_anyone
acl_shared_dict = file:/var/vmail/shared-mailboxes.db
acl_user = %u
fts = flatcurve
fts_autoindex = yes
fts_autoindex_exclude = \Junk
fts_autoindex_exclude2 = \Trash
fts_filters = normalizer-icu snowball stopwords
fts_filters_en = lowercase snowball english-possessive stopwords
fts_index_timeout = 300s
fts_languages = en es de
fts_tika = http://tika:9998/tika
fts_tokenizer_email_address = maxlen=100
fts_tokenizer_generic = algorithm=simple maxlen=30
fts_tokenizers = generic email-address
imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
listescape_char =
mail_crypt_global_private_key = # hidden, use -P to show it
mail_crypt_global_public_key = # hidden, use -P to show it
mail_crypt_save_version = 2
mail_log_cached_only = yes
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size
master_user = %u
quota = dict:Userquota::proxy::sqlquota
quota_rule2 = Trash:storage=+100%%
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve = /var/vmail/sieve/%u.sieve
sieve_after = dict:proxy::sieve_after;name=active;bindir=/var/vmail/sieve_after_bindir
sieve_after2 = /var/vmail/sieve/global_sieve_after.sieve
sieve_before = /var/vmail/sieve/global_sieve_before.sieve
sieve_before2 = dict:proxy::sieve_before;name=active;bindir=/var/vmail/sieve_before_bindir
sieve_duplicate_default_period = 1m
sieve_duplicate_max_period = 7d
sieve_extensions = +notify +imapflags +vacation-seconds +editheader
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
sieve_max_actions = 101
sieve_max_redirects = 100
sieve_max_script_size = 1M
sieve_pipe_bin_dir = /usr/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_quota_max_scripts = 0
sieve_quota_max_storage = 0
sieve_redirect_envelope_from = recipient
sieve_vacation_default_period = 60s
sieve_vacation_max_period = 0
sieve_vacation_min_period = 5s
sieve_vacation_send_from_recipient = yes
zlib_save = lz4
}
protocols = imap sieve lmtp pop3
replication_dsync_parameters = -d -l 30 -U -n INBOX
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
inet_listener auth-inet {
port = 10001
}
unix_listener auth-master {
mode = 0600
user = vmail
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
vsz_limit = 2 G
}
service config {
unix_listener config {
group = vmail
mode = 0660
user = root
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
}
service doveadm {
inet_listener {
port = 12345
}
vsz_limit = 2 G
}
service imap-login {
inet_listener imap_haproxy {
haproxy = yes
port = 10143
}
inet_listener imaps_haproxy {
haproxy = yes
port = 10993
ssl = yes
}
process_limit = 10000
process_min_avail = 2
service_count = 1
user = dovenull
vsz_limit = 1 G
}
service imap {
executable = imap
user = vmail
vsz_limit = 1 G
}
service indexer-worker {
process_limit = 2
vsz_limit = 2 G
}
service lmtp {
inet_listener lmtp-inet {
port = 24
}
user = vmail
}
service log {
user = dovenull
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
inet_listener sieve_haproxy {
haproxy = yes
port = 14190
}
process_min_avail = 2
service_count = 1
vsz_limit = 1 G
}
service managesieve {
process_limit = 256
}
service pop3-login {
inet_listener pop3_haproxy {
haproxy = yes
port = 10110
}
inet_listener pop3s_haproxy {
haproxy = yes
port = 10995
ssl = yes
}
process_min_avail = 1
service_count = 1
vsz_limit = 1 G
}
service quota-warning {
executable = script /usr/local/bin/quota_notify.py
unix_listener quota-warning {
user = vmail
}
user = vmail
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0666
}
}
service stats {
unix_listener stats-writer {
mode = 0660
user = vmail
}
}
ssl_cert = </etc/ssl/mail/cert.pem
ssl_cipher_list = ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:!aNULL:!eNULL:!3DES:!MD5:!PSK:!DSS:!RC4:!SEED:!IDEA:+HIGH:+MEDIUM
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_options = no_compression no_ticket
ssl_prefer_server_ciphers = yes
submission_host = postfix:588
userdb {
args = /etc/dovecot/dovecot-master.userdb
driver = passwd-file
}
userdb {
args = /etc/dovecot/sql/dovecot-dict-sql-userdb.conf
driver = sql
skip = found
}
protocol imap {
imap_metadata = yes
mail_plugins = </etc/dovecot/mail_plugins_imap
}
protocol lmtp {
auth_socket_path = /var/run/dovecot/auth-master
mail_plugins = </etc/dovecot/mail_plugins_lmtp
}
protocol sieve {
managesieve_logout_format = bytes=%i/%o
}
remote 172.22.1.0/24 {
disable_plaintext_auth = no
}
remote 127.0.0.1 {
disable_plaintext_auth = no
}
remote 172.22.1.248 {
disable_plaintext_auth = no
}
remote fd4d:6169:6c63:6f77::/64 {
disable_plaintext_auth = no
}
local_name autoconfig.skwar.xyz {
ssl_cert = </etc/ssl/mail/mail.5y5.one/cert.pem
ssl_key = # hidden, use -P to show it
}
local_name mail.5y5.one {
ssl_cert = </etc/ssl/mail/mail.5y5.one/cert.pem
ssl_key = # hidden, use -P to show it
}
local_name autodiscover.skwar.xyz {
ssl_cert = </etc/ssl/mail/mail.5y5.one/cert.pem
ssl_key = # hidden, use -P to show it
}