git subrepo commit (merge) mailcow/src/mailcow-dockerized
subrepo: subdir: "mailcow/src/mailcow-dockerized"
merged: "02ae5285"
upstream: origin: "https://github.com/mailcow/mailcow-dockerized.git"
branch: "master"
commit: "649a5c01"
git-subrepo: version: "0.4.3"
origin: "???"
commit: "???"
Change-Id: I870ad468fba026cc5abf3c5699ed1e12ff28b32b
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
index cef7de8..b7aca75 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.conf
@@ -45,36 +45,25 @@
auth_master_user_separator = *
mail_shared_explicit_inbox = yes
mail_prefetch_count = 30
+passdb {
+ driver = lua
+ args = file=/etc/dovecot/lua/passwd-verify.lua blocking=yes
+ result_success = return-ok
+ result_failure = continue
+ result_internalfail = continue
+}
# try a master passwd
passdb {
driver = passwd-file
args = /etc/dovecot/dovecot-master.passwd
master = yes
- pass = yes
- result_failure = continue
- result_internalfail = continue
-}
-# try an app passwd
-passdb {
- driver = lua
- args = file=/etc/dovecot/lua/app-passdb.lua blocking=yes
- pass = yes
- result_failure = continue
- result_internalfail = continue
+ skip = authenticated
}
# check for regular password - if empty (e.g. force-passwd-reset), previous pass=yes passdbs also fail
# a return of the following passdb is mandatory
passdb {
- args = /etc/dovecot/sql/dovecot-dict-sql-passdb.conf
- driver = sql
- result_success = return-ok
- result_failure = continue
- result_internalfail = continue
-}
-passdb {
- driver = passwd-file
- args = /etc/dovecot/dovecot-master.passwd
- skip = authenticated
+ driver = lua
+ args = file=/etc/dovecot/lua/passwd-verify.lua blocking=yes
}
# Set doveadm_password=your-secret-password in data/conf/dovecot/extra.conf (create if missing)
service doveadm {
@@ -83,224 +72,7 @@
}
vsz_limit=2048 MB
}
-namespace inbox {
- inbox = yes
- location =
- separator = /
- mailbox "Trash" {
- auto = subscribe
- special_use = \Trash
- }
- mailbox "Deleted Messages" {
- special_use = \Trash
- }
- mailbox "Deleted Items" {
- special_use = \Trash
- }
- mailbox "Rubbish" {
- special_use = \Trash
- }
- mailbox "Gelöschte Objekte" {
- special_use = \Trash
- }
- mailbox "Gelöschte Elemente" {
- special_use = \Trash
- }
- mailbox "Papierkorb" {
- special_use = \Trash
- }
- mailbox "Itens Excluidos" {
- special_use = \Trash
- }
- mailbox "Itens Excluídos" {
- special_use = \Trash
- }
- mailbox "Lixeira" {
- special_use = \Trash
- }
- mailbox "Prullenbak" {
- special_use = \Trash
- }
- mailbox "Odstránené položky" {
- special_use = \Trash
- }
- mailbox "Koš" {
- special_use = \Trash
- }
- mailbox "Verwijderde items" {
- special_use = \Trash
- }
- mailbox "废件箱" {
- special_use = \Trash
- }
- mailbox "已删除消息" {
- special_use = \Trash
- }
- mailbox "已删除邮件" {
- special_use = \Trash
- }
- mailbox "Archive" {
- auto = subscribe
- special_use = \Archive
- }
- mailbox "Archiv" {
- special_use = \Archive
- }
- mailbox "Archives" {
- special_use = \Archive
- }
- mailbox "Arquivo" {
- special_use = \Archive
- }
- mailbox "Arquivos" {
- special_use = \Archive
- }
- mailbox "Archief" {
- special_use = \Archive
- }
- mailbox "Archív" {
- special_use = \Archive
- }
- mailbox "Archivovať" {
- special_use = \Archive
- }
- mailbox "归档" {
- special_use = \Archive
- }
- mailbox "Sent" {
- auto = subscribe
- special_use = \Sent
- }
- mailbox "Sent Messages" {
- special_use = \Sent
- }
- mailbox "Sent Items" {
- special_use = \Sent
- }
- mailbox "已发送" {
- special_use = \Sent
- }
- mailbox "已发送消息" {
- special_use = \Sent
- }
- mailbox "已发送邮件" {
- special_use = \Sent
- }
- mailbox "Gesendet" {
- special_use = \Sent
- }
- mailbox "Gesendete Objekte" {
- special_use = \Sent
- }
- mailbox "Gesendete Elemente" {
- special_use = \Sent
- }
- mailbox "Itens Enviados" {
- special_use = \Sent
- }
- mailbox "Enviados" {
- special_use = \Sent
- }
- mailbox "Verzonden items" {
- special_use = \Sent
- }
- mailbox "Verzonden" {
- special_use = \Sent
- }
- mailbox "Odoslaná pošta" {
- special_use = \Sent
- }
- mailbox "Odoslané" {
- special_use = \Sent
- }
- mailbox "Drafts" {
- auto = subscribe
- special_use = \Drafts
- }
- mailbox "Entwürfe" {
- special_use = \Drafts
- }
- mailbox "Rascunhos" {
- special_use = \Drafts
- }
- mailbox "Concepten" {
- special_use = \Drafts
- }
- mailbox "Koncepty" {
- special_use = \Drafts
- }
- mailbox "草稿" {
- special_use = \Drafts
- }
- mailbox "草稿箱" {
- special_use = \Drafts
- }
- mailbox "Junk" {
- auto = subscribe
- special_use = \Junk
- }
- mailbox "Junk-E-Mail" {
- special_use = \Junk
- }
- mailbox "Junk E-Mail" {
- special_use = \Junk
- }
- mailbox "Spam" {
- special_use = \Junk
- }
- mailbox "Lixo Eletrônico" {
- special_use = \Junk
- }
- mailbox "Nevyžiadaná pošta" {
- special_use = \Junk
- }
- mailbox "Infikované položky" {
- special_use = \Junk
- }
- mailbox "Ongewenste e-mail" {
- special_use = \Junk
- }
- mailbox "垃圾" {
- special_use = \Junk
- }
- mailbox "垃圾箱" {
- special_use = \Junk
- }
- mailbox "Koncepty" {
- special_use = \Drafts
- }
- mailbox "Nevyžádaná pošta" {
- special_use = \Junk
- }
- mailbox "Odstraněná pošta" {
- special_use = \Trash
- }
- mailbox "Odeslaná pošta" {
- special_use = \Sent
- }
- mailbox "Skräp" {
- special_use = \Trash
- }
- mailbox "Borttagna Meddelanden" {
- special_use = \Trash
- }
- mailbox "Arkiv" {
- special_use = \Archive
- }
- mailbox "Arkeverat" {
- special_use = \Archive
- }
- mailbox "Skickat" {
- special_use = \Sent
- }
- mailbox "Skickade Meddelanden" {
- special_use = \Sent
- }
- mailbox "Utkast" {
- special_use = \Drafts
- }
- prefix =
-}
+!include /etc/dovecot/dovecot.folders.conf
protocols = imap sieve lmtp pop3
service dict {
unix_listener dict {
@@ -331,6 +103,7 @@
mode = 0600
user = vmail
}
+ vsz_limit = 2G
}
service managesieve-login {
inet_listener sieve {
@@ -373,7 +146,7 @@
}
}
service imap {
- executable = imap imap-postlogin
+ executable = imap
user = vmail
vsz_limit = 1G
}
@@ -389,8 +162,6 @@
listen = *,[::]
ssl_cert = </etc/ssl/mail/cert.pem
ssl_key = </etc/ssl/mail/key.pem
-!include_try /etc/dovecot/sni.conf
-!include_try /etc/dovecot/sogo_trusted_ip.conf
userdb {
driver = passwd-file
args = /etc/dovecot/dovecot-master.userdb
@@ -417,8 +188,7 @@
acl_anyone = </etc/dovecot/acl_anyone
acl_shared_dict = file:/var/vmail/shared-mailboxes.db
acl = vfile
- last_login_dict = </etc/dovecot/last_login
- last_login_key = last-login/%s/%u
+ acl_user = %u
fts = solr
fts_autoindex = yes
fts_solr = url=http://solr:8983/solr/dovecot-fts/
@@ -439,6 +209,7 @@
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve
# END
+ master_user = %u
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=80%% quota-warning 80 %u
sieve_pipe_bin_dir = /usr/lib/dovecot/sieve
@@ -459,7 +230,6 @@
sieve_after2 = /var/vmail/sieve/global_sieve_after.sieve
sieve_duplicate_default_period = 1m
sieve_duplicate_max_period = 7d
- sieve_vacation_dont_check_recipient = yes
# -- Global keys
mail_crypt_global_private_key = </mail_crypt/ecprivkey.pem
@@ -491,13 +261,6 @@
}
submission_host = postfix:588
mail_max_userip_connections = 500
-service imap-postlogin {
- executable = script-login /usr/local/bin/postlogin.sh
- unix_listener imap-postlogin {
- user = vmail
- mode = 0660
- }
-}
service stats {
unix_listener stats-writer {
mode = 0660
@@ -528,8 +291,12 @@
replication_max_conns = 10
doveadm_port = 12345
replication_dsync_parameters = -d -l 30 -U -n INBOX
+# <Includes>
+!include_try /etc/dovecot/sni.conf
+!include_try /etc/dovecot/sogo_trusted_ip.conf
!include_try /etc/dovecot/extra.conf
!include_try /etc/dovecot/sogo-sso.conf
!include_try /etc/dovecot/shared_namespace.conf
+# </Includes>
default_client_limit = 10400
default_vsz_limit = 1024 M
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf
new file mode 100644
index 0000000..99c9670
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/dovecot.folders.conf
@@ -0,0 +1,293 @@
+namespace inbox {
+ inbox = yes
+ location =
+ separator = /
+ mailbox "Trash" {
+ auto = subscribe
+ special_use = \Trash
+ }
+ mailbox "Deleted Messages" {
+ special_use = \Trash
+ }
+ mailbox "Deleted Items" {
+ special_use = \Trash
+ }
+ mailbox "Rubbish" {
+ special_use = \Trash
+ }
+ mailbox "Gelöschte Objekte" {
+ special_use = \Trash
+ }
+ mailbox "Gelöschte Elemente" {
+ special_use = \Trash
+ }
+ mailbox "Papierkorb" {
+ special_use = \Trash
+ }
+ mailbox "Itens Excluidos" {
+ special_use = \Trash
+ }
+ mailbox "Itens Excluídos" {
+ special_use = \Trash
+ }
+ mailbox "Lixeira" {
+ special_use = \Trash
+ }
+ mailbox "Prullenbak" {
+ special_use = \Trash
+ }
+ mailbox "Odstránené položky" {
+ special_use = \Trash
+ }
+ mailbox "Koš" {
+ special_use = \Trash
+ }
+ mailbox "Verwijderde items" {
+ special_use = \Trash
+ }
+ mailbox "Удаленные" {
+ special_use = \Trash
+ }
+ mailbox "Удаленные элементы" {
+ special_use = \Trash
+ }
+ mailbox "Корзина" {
+ special_use = \Trash
+ }
+ mailbox "Видалені" {
+ special_use = \Trash
+ }
+ mailbox "Видалені елементи" {
+ special_use = \Trash
+ }
+ mailbox "Кошик" {
+ special_use = \Trash
+ }
+ mailbox "废件箱" {
+ special_use = \Trash
+ }
+ mailbox "已删除消息" {
+ special_use = \Trash
+ }
+ mailbox "已删除邮件" {
+ special_use = \Trash
+ }
+ mailbox "Archive" {
+ auto = subscribe
+ special_use = \Archive
+ }
+ mailbox "Archiv" {
+ special_use = \Archive
+ }
+ mailbox "Archives" {
+ special_use = \Archive
+ }
+ mailbox "Arquivo" {
+ special_use = \Archive
+ }
+ mailbox "Arquivos" {
+ special_use = \Archive
+ }
+ mailbox "Archief" {
+ special_use = \Archive
+ }
+ mailbox "Archív" {
+ special_use = \Archive
+ }
+ mailbox "Archivovať" {
+ special_use = \Archive
+ }
+ mailbox "归档" {
+ special_use = \Archive
+ }
+ mailbox "Архив" {
+ special_use = \Archive
+ }
+ mailbox "Архів" {
+ special_use = \Archive
+ }
+ mailbox "Sent" {
+ auto = subscribe
+ special_use = \Sent
+ }
+ mailbox "Sent Messages" {
+ special_use = \Sent
+ }
+ mailbox "Sent Items" {
+ special_use = \Sent
+ }
+ mailbox "已发送" {
+ special_use = \Sent
+ }
+ mailbox "已发送消息" {
+ special_use = \Sent
+ }
+ mailbox "已发送邮件" {
+ special_use = \Sent
+ }
+ mailbox "Отправленные" {
+ special_use = \Sent
+ }
+ mailbox "Отправленные элементы" {
+ special_use = \Sent
+ }
+ mailbox "Надіслані" {
+ special_use = \Sent
+ }
+ mailbox "Надіслані елементи" {
+ special_use = \Sent
+ }
+ mailbox "Gesendet" {
+ special_use = \Sent
+ }
+ mailbox "Gesendete Objekte" {
+ special_use = \Sent
+ }
+ mailbox "Gesendete Elemente" {
+ special_use = \Sent
+ }
+ mailbox "Itens Enviados" {
+ special_use = \Sent
+ }
+ mailbox "Enviados" {
+ special_use = \Sent
+ }
+ mailbox "Verzonden items" {
+ special_use = \Sent
+ }
+ mailbox "Verzonden" {
+ special_use = \Sent
+ }
+ mailbox "Odoslaná pošta" {
+ special_use = \Sent
+ }
+ mailbox "Odoslané" {
+ special_use = \Sent
+ }
+ mailbox "Drafts" {
+ auto = subscribe
+ special_use = \Drafts
+ }
+ mailbox "Entwürfe" {
+ special_use = \Drafts
+ }
+ mailbox "Rascunhos" {
+ special_use = \Drafts
+ }
+ mailbox "Concepten" {
+ special_use = \Drafts
+ }
+ mailbox "Koncepty" {
+ special_use = \Drafts
+ }
+ mailbox "草稿" {
+ special_use = \Drafts
+ }
+ mailbox "草稿箱" {
+ special_use = \Drafts
+ }
+ mailbox "Черновики" {
+ special_use = \Drafts
+ }
+ mailbox "Чернетки" {
+ special_use = \Drafts
+ }
+ mailbox "Junk" {
+ auto = subscribe
+ special_use = \Junk
+ }
+ mailbox "Junk-E-Mail" {
+ special_use = \Junk
+ }
+ mailbox "Junk E-Mail" {
+ special_use = \Junk
+ }
+ mailbox "Spam" {
+ special_use = \Junk
+ }
+ mailbox "Lixo Eletrônico" {
+ special_use = \Junk
+ }
+ mailbox "Nevyžiadaná pošta" {
+ special_use = \Junk
+ }
+ mailbox "Infikované položky" {
+ special_use = \Junk
+ }
+ mailbox "Ongewenste e-mail" {
+ special_use = \Junk
+ }
+ mailbox "垃圾" {
+ special_use = \Junk
+ }
+ mailbox "垃圾箱" {
+ special_use = \Junk
+ }
+ mailbox "Нежелательная почта" {
+ special_use = \Junk
+ }
+ mailbox "Спам" {
+ special_use = \Junk
+ }
+ mailbox "Небажана пошта" {
+ special_use = \Junk
+ }
+ mailbox "Koncepty" {
+ special_use = \Drafts
+ }
+ mailbox "Nevyžádaná pošta" {
+ special_use = \Junk
+ }
+ mailbox "Odstraněná pošta" {
+ special_use = \Trash
+ }
+ mailbox "Odeslaná pošta" {
+ special_use = \Sent
+ }
+ mailbox "Skräp" {
+ special_use = \Trash
+ }
+ mailbox "Borttagna Meddelanden" {
+ special_use = \Trash
+ }
+ mailbox "Arkiv" {
+ special_use = \Archive
+ }
+ mailbox "Arkeverat" {
+ special_use = \Archive
+ }
+ mailbox "Skickat" {
+ special_use = \Sent
+ }
+ mailbox "Skickade Meddelanden" {
+ special_use = \Sent
+ }
+ mailbox "Utkast" {
+ special_use = \Drafts
+ }
+ mailbox "Skraldespand" {
+ special_use = \Trash
+ }
+ mailbox "Slettet mails" {
+ special_use = \Trash
+ }
+ mailbox "Arkiv" {
+ special_use = \Archive
+ }
+ mailbox "Arkiveret mails" {
+ special_use = \Archive
+ }
+ mailbox "Sendt" {
+ special_use = \Sent
+ }
+ mailbox "Sendte mails" {
+ special_use = \Sent
+ }
+ mailbox "Udkast" {
+ special_use = \Drafts
+ }
+ mailbox "Kladde" {
+ special_use = \Drafts
+ }
+ prefix =
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before b/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
index e6a523d..3e79ca1 100644
--- a/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
+++ b/mailcow/src/mailcow-dockerized/data/conf/dovecot/global_sieve_before
@@ -1,2 +1,13 @@
# global_sieve_before script
# global_sieve_before -> user sieve_before (mailcow UI) -> user sieve_after (mailcow UI) -> global_sieve_after
+
+require ["mailbox", "fileinto"];
+
+if header :contains ["Chat-Version"] [""] {
+ if mailboxexists "DeltaChat" {
+ fileinto "DeltaChat";
+ } else {
+ fileinto :create "DeltaChat";
+ }
+ stop;
+}