[Web] Some changes

[SOGo] Allow to not spawn SOGo but an idling shell
[Rspamd] Remove X-CSA-Complaints from bulk headers...
master
andryyy 2020-04-27 17:27:47 +02:00
parent 0d4ba462c4
commit d392257289
29 changed files with 151 additions and 39 deletions

View File

@ -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

View File

@ -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
(

View File

@ -1,4 +1,3 @@
/X-CSA-Complaints: .*/i
/X-EMV-Platform; .*/i
/.*nur-1-click*/i
/.*episerver.*/i

View File

@ -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;
}

View File

@ -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") {
<UsePOPAuth>on</UsePOPAuth>
<SMTPLast>off</SMTPLast>
</Protocol>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<Protocol>
<Type>CalDAV</Type>
<Server>https://<?=$autodiscover_config['caldav']['server'];?><?php if ($autodiscover_config['caldav']['port'] != 443) echo ':'.$autodiscover_config['caldav']['port']; ?>/SOGo/dav/<?=$email;?>/</Server>
@ -188,6 +195,9 @@ if ($login_role === "user") {
<DomainRequired>off</DomainRequired>
<LoginName><?=$email;?></LoginName>
</Protocol>
<?php
}
?>
</Account>
</Response>
<?php

View File

@ -48,11 +48,17 @@ if (isset($_SESSION['mailcow_cc_role'])) {
<div class="checkbox">
<label><input class="goto_checkbox" type="checkbox" value="1" name="goto_ham" <?= ($result['goto'] == "ham@localhost") ? "checked" : null; ?>> <?=$lang['add']['goto_ham'];?></label>
</div>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<hr>
<div class="checkbox">
<label><input type="checkbox" value="1" name="sogo_visible" <?php if (isset($result['sogo_visible_int']) && $result['sogo_visible_int']=="1") { echo "checked"; }; ?>> <?=$lang['edit']['sogo_visible'];?></label>
</div>
<p class="help-block"><?=$lang['edit']['sogo_visible_info'];?></p>
<?php
}
?>
</div>
</div>
<hr>
@ -719,6 +725,9 @@ if (isset($_SESSION['mailcow_cc_role'])) {
</div>
</div>
</div>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<div data-acl="<?=$_SESSION['acl']['sogo_access'];?>" class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
@ -727,6 +736,9 @@ if (isset($_SESSION['mailcow_cc_role'])) {
</div>
</div>
</div>
<?php
}
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button class="btn btn-success" data-action="edit_selected" data-id="editmailbox" data-item="<?=htmlspecialchars($result['username']);?>" data-api-url='edit/mailbox' data-api-attr='{}' href="#"><?=$lang['edit']['save'];?></button>

View File

@ -108,7 +108,7 @@
<li<?= (preg_match("/quarantine/i", $_SERVER['REQUEST_URI'])) ? ' class="active"' : ''; ?>><a href="/quarantine"><span class="glyphicon glyphicon-briefcase"></span> <?= $lang['header']['quarantine']; ?></a></li>
<?php
}
if ($_SESSION['mailcow_cc_role'] == 'admin') {
if ($_SESSION['mailcow_cc_role'] == 'admin' && getenv('SKIP_SOGO') != "y") {
?>
<li><a href data-toggle="modal" data-container="sogo-mailcow" data-target="#RestartContainer"><span class="glyphicon glyphicon-refresh"></span> <?= $lang['header']['restart_sogo']; ?></a></li>
<?php

View File

@ -34,6 +34,7 @@ if ($https_port === FALSE) {
$autodiscover_config = array(
// General autodiscover service type: "activesync" or "imap"
// emClient uses autodiscover, but does not support ActiveSync. mailcow excludes emClient from ActiveSync.
// With SOGo disabled, the type will always fallback to imap. CalDAV and CardDAV will be excluded, too.
'autodiscoverType' => 'activesync',
// If autodiscoverType => activesync, also use ActiveSync (EAS) for Outlook desktop clients (>= Outlook 2013 on Windows)
// Outlook for Mac does not support ActiveSync

View File

@ -34,11 +34,11 @@ $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
<div class="text-center mailcow-logo"><img src="<?=($main_logo = customize('get', 'main_logo')) ? $main_logo : '/img/cow_mailcow.svg';?>" alt="mailcow"></div>
<legend><?= isset($_SESSION['oauth2_request']) ? $lang['oauth2']['authorize_app'] : $UI_TEXTS['main_name'];?></legend>
<?php
if (strpos($_SESSION['index_query_string'], 'mobileconfig') !== false):
if (strpos($_SESSION['index_query_string'], 'mobileconfig') !== false) {
?>
<div class="alert alert-info"><?= $lang['login']['mobileconfig_info']; ?></div>
<?php
endif;
}
?>
<form method="post" autofill="off">
<div class="form-group">
@ -57,55 +57,54 @@ $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
</div>
<div class="form-group">
<button type="submit" class="btn btn-success" value="Login"><?= $lang['login']['login']; ?></button>
<?php if(!isset($_SESSION['oauth2_request'])): ?>
<?php if(!isset($_SESSION['oauth2_request'])) { ?>
<div class="btn-group pull-right">
<button type="button" <?=(isset($_SESSION['mailcow_locale']) && count($AVAILABLE_LANGUAGES) === 1) ? 'disabled="true"' : '' ?> class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="lang-sm lang-lbl" lang="<?= $_SESSION['mailcow_locale']; ?>"></span> <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<?php
foreach ($AVAILABLE_LANGUAGES as $language):
foreach ($AVAILABLE_LANGUAGES as $language) {
?>
<li<?= ($_SESSION['mailcow_locale'] == $language) ? ' class="active"' : ''; ?>><a href="?<?= http_build_query(array_merge($_GET, array('lang' => $language))) ?>"><span class="lang-xs lang-lbl-full" lang="<?= $language; ?>"></span></a></li>
<?php
endforeach;
?>
<?php } ?>
</ul>
</div>
<?php endif ?>
<?php } ?>
</div>
</form>
<?php
if (isset($_SESSION['ldelay']) && $_SESSION['ldelay'] != '0'):
if (isset($_SESSION['ldelay']) && $_SESSION['ldelay'] != '0') {
?>
<p><div class="alert alert-info"><?= sprintf($lang['login']['delayed'], $_SESSION['ldelay']); ?></b></div></p>
<?php
endif;
?>
<?php if(!isset($_SESSION['oauth2_request'])): ?>
<?php } ?>
<?php if(!isset($_SESSION['oauth2_request'])) { ?>
<legend><span class="glyphicon glyphicon-link" aria-hidden="true"></span> <?=$UI_TEXTS['apps_name'];?></legend>
<?php
foreach ($MAILCOW_APPS as $app):
if (!empty($MAILCOW_APPS)) {
foreach ($MAILCOW_APPS as $app) {
if (getenv('SKIP_SOGO') == "y" && preg_match('/^\/SOGo/i', $app['link'])) { continue; }
?>
<a href="<?= htmlspecialchars($app['link']); ?>" role="button" style="margin-bottom:3pt" title="<?= htmlspecialchars($app['description']); ?>" class="btn btn-primary"><?= htmlspecialchars($app['name']); ?></a>&nbsp;
<?php
endforeach;
}
$app_links = customize('get', 'app_links');
if (!empty($app_links)) {
foreach ($app_links as $row) {
foreach ($row as $key => $val):
foreach ($row as $key => $val) {
?>
<a href="<?= htmlspecialchars($val); ?>" role="button" style="margin-bottom:3pt" class="btn btn-primary"><?= htmlspecialchars($key); ?></a>&nbsp;
<?php
endforeach;
}
}
endif;
}
}
}
?>
</div>
</div>
</div>
<?php if(!isset($_SESSION['oauth2_request'])): ?>
<?php if(!isset($_SESSION['oauth2_request'])) { ?>
<div class="col-md-offset-3 col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
@ -113,19 +112,19 @@ $_SESSION['index_query_string'] = $_SERVER['QUERY_STRING'];
</div>
<div id="collapse1" class="panel-collapse collapse">
<div class="panel-body">
<?php if ($UI_TEXTS['help_text']): ?>
<?php if ($UI_TEXTS['help_text']) { ?>
<p><?=$UI_TEXTS['help_text'];?></p>
<?php else: ?>
<?php } else { ?>
<p><span style="border-bottom: 1px dotted #999;"><?=$UI_TEXTS['main_name'];?></span></p>
<p><?= $lang['start']['mailcow_panel_detail']; ?></p>
<p><span style="border-bottom: 1px dotted #999;"><?=$UI_TEXTS['apps_name'];?></span></p>
<p><?= $lang['start']['mailcow_apps_detail']; ?></p>
<?php endif; ?>
<?php } ?>
</div>
</div>
</div>
</div>
<?php endif ?>
<?php } ?>
</div>
</div><!-- /.container -->
<?php

View File

@ -8,6 +8,7 @@
"add": {
"activate_filter_warn": "All other filters will be deactivated, when active is checked.",
"active": "Actiu",
"add": "Afegir",
"add_domain_only": "Afegir el domini",
"add_domain_restart": "Afegir el domini i reiniciar SOGo",
"alias_address": "Dirección/es àlies:",
@ -292,6 +293,7 @@
"action": "Acció",
"activate": "Activar",
"active": "Actiu",
"add": "Afegir",
"add_alias": "Afegir àlies",
"add_bcc_entry": "Afegir BCC map",
"add_domain": "Afegir domini",

View File

@ -25,6 +25,7 @@
"add": {
"activate_filter_warn": "Pokud je zaškrtlá volba \"Aktivní\", budou všechny ostatní filtry deaktivovány.",
"active": "Aktivní",
"add": "Přidat",
"add_domain_only": "Přidat doménu",
"add_domain_restart": "Přidat doménu a restartovat SOGo",
"alias_address": "Adresa/y aliasů",
@ -526,6 +527,7 @@
"action": "Akce",
"activate": "Zapnout",
"active": "Aktivní",
"add": "Přidat",
"add_alias": "Přidat alias",
"add_bcc_entry": "Přidat BCC mapu",
"add_domain": "Přidat doménu",

View File

@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "Alle anderen Filter diesen Typs werden deaktiviert, falls dieses Script aktiv markiert wird.",
"active": "Aktiv",
"add": "Hinzufügen",
"add_domain_only": "Nur Domain hinzufügen",
"add_domain_restart": "Domain hinzufügen und SOGo neustarten",
"alias_address": "Alias-Adresse(n)",
@ -573,6 +574,7 @@
"action": "Aktion",
"activate": "Aktivieren",
"active": "Aktiv",
"add": "Hinzufügen",
"add_alias": "Alias hinzufügen",
"add_bcc_entry": "BCC-Eintrag hinzufügen",
"add_domain": "Domain hinzufügen",

View File

@ -27,6 +27,7 @@
"add": {
"activate_filter_warn": "All other filters will be deactivated, when active is checked.",
"active": "Active",
"add": "Add",
"add_domain_only": "Add domain only",
"add_domain_restart": "Add domain and restart SOGo",
"alias_address": "Alias address/es",
@ -572,6 +573,7 @@
"action": "Action",
"activate": "Activate",
"active": "Active",
"add": "Add",
"add_alias": "Add alias",
"add_bcc_entry": "Add BCC map",
"add_domain": "Add domain",

View File

@ -23,6 +23,7 @@
"add": {
"activate_filter_warn": "Todos los demás filtros se desactivarán cuando este filtro se active.",
"active": "Activo",
"add": "Agregar",
"add_domain_only": "Agregar dominio solamente",
"add_domain_restart": "Agregar dominio y reiniciar SOGo",
"alias_address": "Dirección(es) alias:",
@ -465,6 +466,7 @@
"action": "Acción",
"activate": "Activar",
"active": "Activo",
"add": "Agregar",
"add_alias": "Agregar alias",
"add_bcc_entry": "Añadir regla de BCC",
"add_domain": "Agregar dominio",

View File

@ -25,6 +25,7 @@
"add": {
"activate_filter_warn": "Kaikki muut suodattimet deaktivoidaan, kun aktiivinen on valittu.",
"active": "Aktiivinen",
"add": "Lisää",
"add_domain_only": "Lisää vain verkkotunnus alue",
"add_domain_restart": "Lisää verkkotunnus alue ja käynnistä SOGo uudelleen",
"alias_address": "Alias osoite",
@ -526,6 +527,7 @@
"action": "Toiminnot",
"activate": "Aktivoi",
"active": "Aktiivinen",
"add": "Lisää",
"add_alias": "Lisää alias",
"add_bcc_entry": "Lisää piilo kopio kartta",
"add_domain": "Lisää verkkotunnus alue",

View File

@ -4,6 +4,7 @@
},
"add": {
"active": "Actif",
"add": "Ajouter",
"alias_address": "Adresse(s) alias",
"alias_address_info": "<small>Adresse de courriel complète ou @exemple.com pour recevoir tous les messages d'un domaine (séparés par de virgules). <b>Domaines mailcow seulement</b></small>",
"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",

View File

@ -4,6 +4,7 @@
},
"add": {
"active": "Attiva",
"add": "Aggiungi",
"alias_address": "Indirizzo alias/es:",
"alias_address_info": "<small>Indirizzo e-mail completo/es @example.com, per catturare tutti i messaggi di un dominio (separati da virgola). <b>solo domini mailcow</b>.</small>",
"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",

View File

@ -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",

View File

@ -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",

View File

@ -5,6 +5,7 @@
},
"add": {
"active": "Aktywny",
"add": "Dodaj",
"alias_address": "Alias/y:",
"alias_address_info": "<small>Pełny/e adres/y email lub @example.com, aby przejąć wszystkie wiadomości dla domeny (oddzielone przecinkami). <b>tylko domeny mailcow</b>.</small>",
"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",

View File

@ -1,6 +1,7 @@
{
"add": {
"active": "Ativo",
"add": "Salvar",
"alias_address": "Apelidos:",
"alias_address_info": "<small>Endereço de email completo ou @example.com, para uma conta coringa -catch all. (separado por vírgula). <b>apenas domínios cadastrados</b>.</small>",
"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",

View File

@ -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": "Добавить домен",

View File

@ -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",

View File

@ -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",

View File

@ -93,7 +93,7 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
</div>
</div>
<?php
if (preg_match("/^([yY][eE][sS]|[yY])+$/", $_ENV["ALLOW_ADMIN_EMAIL_LOGIN"])):
if (preg_match("/^([yY][eE][sS]|[yY])+$/", $_ENV["ALLOW_ADMIN_EMAIL_LOGIN"]) && getenv('SKIP_SOGO') != "y"):
?>
<div class="panel-body help-block">
<?=$lang['mailbox']['sogo_allow_admin_hint'];?>
@ -256,9 +256,16 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
<li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"active":"0"}' href="#"><?=$lang['mailbox']['deactivate'];?></a></li>
<li role="separator" class="divider"></li>
<li><a data-action="delete_selected" data-id="alias" data-api-url='delete/alias' href="#"><?=$lang['mailbox']['remove'];?></a></li>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<li role="separator" class="divider"></li>
<li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"sogo_visible":"1"}' href="#"><?=$lang['mailbox']['sogo_visible_y'];?></a></li>
<li><a data-action="edit_selected" data-id="alias" data-api-url='edit/alias' data-api-attr='{"sogo_visible":"0"}' href="#"><?=$lang['mailbox']['sogo_visible_n'];?></a></li>
<?php
}
?>
</ul>
<a class="btn btn-sm btn-success" href="#" data-toggle="modal" data-target="#addAliasModal"><span class="glyphicon glyphicon-plus"></span> <?=$lang['mailbox']['add_alias'];?></a>
</div>

View File

@ -129,6 +129,9 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
<input type="number" class="form-control" name="quota" value="10240" required>
</div>
</div>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
@ -137,6 +140,9 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
</div>
</div>
</div>
<?php
}
?>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
@ -177,11 +183,29 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
<hr>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add_domain_only'];?></button>
<button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{"restart_sogo":"1"}' href="#"><?=$lang['add']['add_domain_restart'];?></button>
<?php
}
else {
?>
<button class="btn btn-default" data-action="add_item" data-id="add_domain" data-api-url='add/domain' data-api-attr='{}' href="#"><?=$lang['add']['add'];?></button>
<?php
}
?>
</div>
</div>
<?php
// TODO: Separate SOGo-related text
if (getenv('SKIP_SOGO') != "y") {
?>
<p><span class="glyphicon glyphicon-exclamation-sign text-danger"></span> <?=$lang['add']['post_domain_add'];?></p>
<?php
}
?>
</form>
</div>
</div>
@ -289,11 +313,17 @@ if (!isset($_SESSION['mailcow_cc_role'])) {
<div class="checkbox">
<label><input class="goto_checkbox" type="checkbox" value="1" name="goto_ham"> <?=$lang['add']['goto_ham'];?></label>
</div>
<?php
if (getenv('SKIP_SOGO') != "y") {
?>
<hr>
<div class="checkbox">
<label><input type="checkbox" value="1" name="sogo_visible" checked> <?=$lang['edit']['sogo_visible'];?></label>
</div>
<p class="help-block"><?=$lang['edit']['sogo_visible_info'];?></p>
<?php
}
?>
</div>
</div>
<div class="form-group">

View File

@ -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:-}

View File

@ -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}

View File

@ -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"