diff --git a/data/Dockerfiles/sogo/bootstrap-sogo.sh b/data/Dockerfiles/sogo/bootstrap-sogo.sh
index 443b836e..612a4e00 100755
--- a/data/Dockerfiles/sogo/bootstrap-sogo.sh
+++ b/data/Dockerfiles/sogo/bootstrap-sogo.sh
@@ -258,4 +258,10 @@ else
rm /etc/cron.d/sogo
fi
+if [[ "${SKIP_SOGO}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then
+ echo "SKIP_SOGO=y, skipping SOGo..."
+ sleep 365d
+ exit 0
+fi
+
exec gosu sogo /usr/sbin/sogod
diff --git a/data/Dockerfiles/watchdog/watchdog.sh b/data/Dockerfiles/watchdog/watchdog.sh
index 7cf7530b..17acf56f 100755
--- a/data/Dockerfiles/watchdog/watchdog.sh
+++ b/data/Dockerfiles/watchdog/watchdog.sh
@@ -770,6 +770,7 @@ PID=$!
echo "Spawned phpfpm_checks with PID ${PID}"
BACKGROUND_TASKS+=(${PID})
+if [[ "${SKIP_SOGO}" =~ ^([nN][oO]|[nN])+$ ]]; then
(
while true; do
if ! sogo_checks; then
@@ -781,6 +782,7 @@ done
PID=$!
echo "Spawned sogo_checks with PID ${PID}"
BACKGROUND_TASKS+=(${PID})
+fi
if [ ${CHECK_UNBOUND} -eq 1 ]; then
(
diff --git a/data/conf/rspamd/custom/bulk_header.map b/data/conf/rspamd/custom/bulk_header.map
index bebdba3d..ed1997c2 100644
--- a/data/conf/rspamd/custom/bulk_header.map
+++ b/data/conf/rspamd/custom/bulk_header.map
@@ -1,4 +1,3 @@
-/X-CSA-Complaints: .*/i
/X-EMV-Platform; .*/i
/.*nur-1-click*/i
/.*episerver.*/i
diff --git a/data/conf/rspamd/local.d/multimap.conf b/data/conf/rspamd/local.d/multimap.conf
index a7df7304..25551422 100644
--- a/data/conf/rspamd/local.d/multimap.conf
+++ b/data/conf/rspamd/local.d/multimap.conf
@@ -96,6 +96,7 @@ SIEVE_HOST {
type = "ip";
map = "$LOCAL_CONFDIR/custom/dovecot_trusted.map";
symbols_set = ["SIEVE_HOST"];
+ score = -15;
}
RSPAMD_HOST {
@@ -150,3 +151,10 @@ BAD_LANG {
regexp = true;
score = 5.0;
}
+
+BAZAR_ABUSE_CH {
+ type = "selector";
+ selector = "attachments(hex,sha256)";
+ map = "https://bazaar.abuse.ch/export/txt/md5/recent/";
+ score = 10.0;
+}
diff --git a/data/web/autodiscover.php b/data/web/autodiscover.php
index 3f258e86..c18edbfc 100644
--- a/data/web/autodiscover.php
+++ b/data/web/autodiscover.php
@@ -37,6 +37,10 @@ if (strpos($data, 'autodiscover/outlook/responseschema') !== false) {
}
}
+if (getenv('SKIP_SOGO') == "y") {
+ $autodiscover_config['autodiscoverType'] = 'imap';
+}
+
//$dsn = $database_type . ":host=" . $database_host . ";dbname=" . $database_name;
$dsn = $database_type . ":unix_socket=" . $database_sock . ";dbname=" . $database_name;
$opt = [
@@ -176,6 +180,9 @@ if ($login_role === "user") {
on
off
+
CalDAV
https://=$autodiscover_config['caldav']['server'];?>/SOGo/dav/=$email;?>/
@@ -188,6 +195,9 @@ if ($login_role === "user") {
off
=$email;?>
+
> =$lang['add']['goto_ham'];?>
+
> =$lang['edit']['sogo_visible'];?>
=$lang['edit']['sogo_visible_info'];?>
+
@@ -719,6 +725,9 @@ if (isset($_SESSION['mailcow_cc_role'])) {
+
+
-
+
@@ -113,19 +112,19 @@ $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
-
+
=$UI_TEXTS['help_text'];?>
-
+
=$UI_TEXTS['main_name'];?>
= $lang['start']['mailcow_panel_detail']; ?>
=$UI_TEXTS['apps_name'];?>
= $lang['start']['mailcow_apps_detail']; ?>
-
+
-
+
Adresse de courriel complète ou @exemple.com pour recevoir tous les messages d'un domaine (séparés par de virgules). Domaines mailcow seulement ",
"alias_domain": "Alias de domaine",
@@ -240,6 +241,7 @@
"action": "Action",
"activate": "Activer",
"active": "Actif",
+ "add": "Ajouter",
"add_alias": "Ajouter un alias",
"add_domain": "Ajouter un domaine",
"add_domain_alias": "Ajouter un alias de domaine",
diff --git a/data/web/lang/lang.it.json b/data/web/lang/lang.it.json
index 503ca951..7180a8ef 100644
--- a/data/web/lang/lang.it.json
+++ b/data/web/lang/lang.it.json
@@ -4,6 +4,7 @@
},
"add": {
"active": "Attiva",
+ "add": "Aggiungi",
"alias_address": "Indirizzo alias/es:",
"alias_address_info": "Indirizzo e-mail completo/es @example.com, per catturare tutti i messaggi di un dominio (separati da virgola). solo domini mailcow . ",
"alias_domain": "Dominio alias",
@@ -203,6 +204,7 @@
"action": "Azione",
"activate": "Attiva",
"active": "Attiva",
+ "add": "Aggiungi",
"add_alias": "Aggiungi alias",
"add_domain": "Aggiungi Dominio",
"add_domain_alias": "Aggiungi alias Dominio",
diff --git a/data/web/lang/lang.lv.json b/data/web/lang/lang.lv.json
index 0ba17ed0..1e2d025c 100644
--- a/data/web/lang/lang.lv.json
+++ b/data/web/lang/lang.lv.json
@@ -8,6 +8,7 @@
"add": {
"activate_filter_warn": "Visi pārējie filtri tiks deaktivizēti, kad aktīvs ir atzīmēts.",
"active": "Aktīvs",
+ "add": "Pievienot",
"add_domain_only": "Tikai pievienot domēnu",
"add_domain_restart": "Pievienot domēnu un restartēt SOGo",
"alias_address": "Alias addrese/s",
@@ -295,6 +296,7 @@
"action": "Rīcība",
"activate": "Activate",
"active": "Aktīvs",
+ "add": "Pievienot",
"add_alias": "Pievienot alias",
"add_bcc_entry": "Pievienot BCC karti",
"add_domain": "Pievienot domēnu",
diff --git a/data/web/lang/lang.nl.json b/data/web/lang/lang.nl.json
index 84c1d53e..0f0e18cd 100644
--- a/data/web/lang/lang.nl.json
+++ b/data/web/lang/lang.nl.json
@@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "Alle andere filters worden gedeactiveerd zolang deze geactiveerd is.",
"active": "Actief",
+ "add": "Toevoegen",
"add_domain_only": "Voeg alleen domein toe",
"add_domain_restart": "Voeg domein toe en herstart SOGo",
"alias_address": "Aliasadres(sen)",
@@ -570,6 +571,7 @@
"action": "Handeling",
"activate": "Activeer",
"active": "Actief",
+ "add": "Toevoegen",
"add_alias": "Voeg alias toe",
"add_bcc_entry": "Voeg BCC-map toe",
"add_domain": "Voeg domein toe",
diff --git a/data/web/lang/lang.pl.json b/data/web/lang/lang.pl.json
index 4cd595a0..995f088c 100644
--- a/data/web/lang/lang.pl.json
+++ b/data/web/lang/lang.pl.json
@@ -5,6 +5,7 @@
},
"add": {
"active": "Aktywny",
+ "add": "Dodaj",
"alias_address": "Alias/y:",
"alias_address_info": "Pełny/e adres/y email lub @example.com, aby przejąć wszystkie wiadomości dla domeny (oddzielone przecinkami). tylko domeny mailcow . ",
"alias_domain": "Alias domeny",
@@ -219,6 +220,7 @@
"action": "Działanie",
"activate": "Aktywuj",
"active": "Aktywny",
+ "add": "Dodaj",
"add_alias": "Dodaj alias",
"add_domain": "Dodaj domenę",
"add_domain_alias": "Dodaj alias domeny",
diff --git a/data/web/lang/lang.pt.json b/data/web/lang/lang.pt.json
index bad1a9ba..e791ae37 100644
--- a/data/web/lang/lang.pt.json
+++ b/data/web/lang/lang.pt.json
@@ -1,6 +1,7 @@
{
"add": {
"active": "Ativo",
+ "add": "Salvar",
"alias_address": "Apelidos:",
"alias_address_info": "Endereço de email completo ou @example.com, para uma conta coringa -catch all. (separado por vírgula). apenas domínios cadastrados . ",
"alias_domain": "Encaminhamento de Domínio",
@@ -164,6 +165,7 @@
"mailbox": {
"action": "Ação",
"active": "Ativo",
+ "add": "Salvar",
"add_alias": "Adicionar Apelido",
"add_domain": "Adicionar Domínio",
"add_domain_alias": "Adicionar Apelido de Domínio",
diff --git a/data/web/lang/lang.ru.json b/data/web/lang/lang.ru.json
index 4c85e170..be181dad 100644
--- a/data/web/lang/lang.ru.json
+++ b/data/web/lang/lang.ru.json
@@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "Активация этого фильтра отключит все остальные фильтры этого типа.",
"active": "Активный",
+ "add": "Добавить",
"add_domain_only": "Только добавить домен",
"add_domain_restart": "Добавить домен и перезапустить SOGo",
"alias_address": "Псевдоним/ы",
@@ -571,6 +572,7 @@
"action": "Действия",
"activate": "Включить",
"active": "Активный",
+ "add": "Добавить",
"add_alias": "Добавить псевдоним",
"add_bcc_entry": "Добавить правило BBC",
"add_domain": "Добавить домен",
diff --git a/data/web/lang/lang.sk.json b/data/web/lang/lang.sk.json
index 24759993..2523a065 100644
--- a/data/web/lang/lang.sk.json
+++ b/data/web/lang/lang.sk.json
@@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "Všetky ostatné filtre budú deaktivované, ak bude zaškrtnuté pole \"Aktívny\".",
"active": "Aktívne",
+ "add": "Pridať",
"add_domain_only": "Pridať iba doménu",
"add_domain_restart": "Pridať doménu a reštartovať SOGo",
"alias_address": "Alias adresa/y",
@@ -567,6 +568,7 @@
"action": "Akcia",
"activate": "Aktivovať",
"active": "Aktívny",
+ "add": "Pridať",
"add_alias": "Pridať alias",
"add_bcc_entry": "Pridať BCC mapu",
"add_domain": "Pridať doménu",
diff --git a/data/web/lang/lang.sv.json b/data/web/lang/lang.sv.json
index 1b8bca08..55e1a831 100644
--- a/data/web/lang/lang.sv.json
+++ b/data/web/lang/lang.sv.json
@@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "Alla andra filter av den här typen kommer inaktiveras om det här skriptet markeras som aktivt.",
"active": "Aktiv",
+ "add": "Lägg till",
"add_domain_only": "Lägg bara till domänen",
"add_domain_restart": "Lägg till domänen, och starta om SOGo",
"alias_address": "Alias-adress/adresser",
@@ -573,6 +574,7 @@
"action": "Åtgärd",
"activate": "Aktivera",
"active": "Aktiv",
+ "add": "Lägg till",
"add_alias": "Lägg till alias",
"add_bcc_entry": "Lägg till ny koppling",
"add_domain": "Lägg till domän",
diff --git a/data/web/mailbox.php b/data/web/mailbox.php
index 2831dfac..f8313b58 100644
--- a/data/web/mailbox.php
+++ b/data/web/mailbox.php
@@ -93,7 +93,7 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
diff --git a/data/web/modals/mailbox.php b/data/web/modals/mailbox.php
index 2e00a273..4f5ed4df 100644
--- a/data/web/modals/mailbox.php
+++ b/data/web/modals/mailbox.php
@@ -129,6 +129,9 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
+
+
diff --git a/docker-compose.yml b/docker-compose.yml
index 5da3f419..144a4014 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -148,6 +148,7 @@ services:
- COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME:-mailcow-dockerized}
- SKIP_SOLR=${SKIP_SOLR:-y}
- SKIP_CLAMD=${SKIP_CLAMD:-n}
+ - SKIP_SOGO=${SKIP_SOGO:-n}
- ALLOW_ADMIN_EMAIL_LOGIN=${ALLOW_ADMIN_EMAIL_LOGIN:-n}
- MASTER=${MASTER:-y}
restart: always
@@ -157,7 +158,7 @@ services:
- phpfpm
sogo-mailcow:
- image: mailcow/sogo:1.73
+ image: mailcow/sogo:1.74
environment:
- DBNAME=${DBNAME}
- DBUSER=${DBUSER}
@@ -169,6 +170,7 @@ services:
- ALLOW_ADMIN_EMAIL_LOGIN=${ALLOW_ADMIN_EMAIL_LOGIN:-n}
- IPV4_NETWORK=${IPV4_NETWORK:-172.22.1}
- SOGO_EXPIRE_SESSION=${SOGO_EXPIRE_SESSION:-480}
+ - SKIP_SOGO=${SKIP_SOGO:-n}
- MASTER=${MASTER:-y}
- REDIS_SLAVEOF_IP=${REDIS_SLAVEOF_IP:-}
- REDIS_SLAVEOF_PORT=${REDIS_SLAVEOF_PORT:-}
@@ -189,7 +191,7 @@ services:
- sogo
dovecot-mailcow:
- image: mailcow/dovecot:1.120
+ image: mailcow/dovecot:1.121
depends_on:
- mysql-mailcow
dns:
@@ -394,7 +396,7 @@ services:
- /lib/modules:/lib/modules:ro
watchdog-mailcow:
- image: mailcow/watchdog:1.74
+ image: mailcow/watchdog:1.75
# Debug
#command: /watchdog.sh
dns:
@@ -423,6 +425,7 @@ services:
- CHECK_UNBOUND=${CHECK_UNBOUND:-1}
- SKIP_CLAMD=${SKIP_CLAMD:-n}
- SKIP_LETS_ENCRYPT=${SKIP_LETS_ENCRYPT:-n}
+ - SKIP_SOGO=${SKIP_SOGO:-n}
- HTTPS_PORT=${HTTPS_PORT:-443}
- REDIS_SLAVEOF_IP=${REDIS_SLAVEOF_IP:-}
- REDIS_SLAVEOF_PORT=${REDIS_SLAVEOF_PORT:-}
diff --git a/generate_config.sh b/generate_config.sh
index c225a255..2b8e3405 100755
--- a/generate_config.sh
+++ b/generate_config.sh
@@ -218,6 +218,10 @@ SKIP_HTTP_VERIFICATION=n
SKIP_CLAMD=${SKIP_CLAMD}
+# Skip SOGo: Will disable SOGo integration and therefore webmail, DAV protocols and ActiveSync support (experimental) - y/n
+
+SKIP_SOGO=n
+
# Skip Solr on low-memory systems or if you do not want to store a readable index of your mails in solr-vol-1.
SKIP_SOLR=${SKIP_SOLR}
diff --git a/update.sh b/update.sh
index d1fb19f2..fab4b1c9 100755
--- a/update.sh
+++ b/update.sh
@@ -169,6 +169,7 @@ if cp --help 2>&1 | head -n 1 | grep -q -i "busybox"; then echo "BusybBox cp det
CONFIG_ARRAY=(
"SKIP_LETS_ENCRYPT"
+ "SKIP_SOGO"
"USE_WATCHDOG"
"WATCHDOG_NOTIFY_EMAIL"
"WATCHDOG_NOTIFY_BAN"