diff --git a/data/Dockerfiles/phpfpm/docker-entrypoint.sh b/data/Dockerfiles/phpfpm/docker-entrypoint.sh index 8c986335..dc4197b4 100755 --- a/data/Dockerfiles/phpfpm/docker-entrypoint.sh +++ b/data/Dockerfiles/phpfpm/docker-entrypoint.sh @@ -22,6 +22,11 @@ while read line do DOMAIN_ARR+=("$line") done < <(mysql -h mysql-mailcow -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT domain FROM domain" -Bs) +while read line +do + DOMAIN_ARR+=("$line") +done < <(mysql -h mysql-mailcow -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT alias_domain FROM alias_domain" -Bs) + if [[ ! -z ${DOMAIN_ARR} ]]; then for domain in "${DOMAIN_ARR[@]}"; do diff --git a/data/web/inc/functions.mailbox.inc.php b/data/web/inc/functions.mailbox.inc.php index dac60364..8fee9f8a 100644 --- a/data/web/inc/functions.mailbox.inc.php +++ b/data/web/inc/functions.mailbox.inc.php @@ -709,6 +709,16 @@ function mailbox($_action, $_type, $_data = null, $attr = null) { ); return false; } + try { + $redis->hSet('DOMAIN_MAP', $alias_domain, 1); + } + catch (RedisException $e) { + $_SESSION['return'] = array( + 'type' => 'danger', + 'msg' => 'Redis: '.$e + ); + return false; + } } $_SESSION['return'] = array( 'type' => 'success', @@ -3514,6 +3524,16 @@ function mailbox($_action, $_type, $_data = null, $attr = null) { ); return false; } + try { + $redis->hDel('DOMAIN_MAP', $alias_domain); + } + catch (RedisException $e) { + $_SESSION['return'] = array( + 'type' => 'danger', + 'msg' => 'Redis: '.$e + ); + return false; + } } $_SESSION['return'] = array( 'type' => 'success', diff --git a/data/web/inc/functions.quarantaine.inc.php b/data/web/inc/functions.quarantaine.inc.php index 9b55e4e7..db4ae7c2 100644 --- a/data/web/inc/functions.quarantaine.inc.php +++ b/data/web/inc/functions.quarantaine.inc.php @@ -216,6 +216,13 @@ function quarantaine($_action, $_data = null) { $q_meta[] = $row; } } + elseif ($_SESSION['mailcow_cc_role'] == "admin") { + $stmt = $pdo->query('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantaine`'); + $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); + while($row = array_shift($rows)) { + $q_meta[] = $row; + } + } else { foreach (mailbox('get', 'mailboxes') as $mbox) { $stmt = $pdo->prepare('SELECT `id`, `qid`, `rcpt`, `sender`, UNIX_TIMESTAMP(`created`) AS `created` FROM `quarantaine` WHERE `rcpt` = :mbox'); diff --git a/data/web/lang/lang.de.php b/data/web/lang/lang.de.php index a3542ef0..bb4c3ff3 100644 --- a/data/web/lang/lang.de.php +++ b/data/web/lang/lang.de.php @@ -144,9 +144,9 @@ $lang['user']['weeks'] = 'Wochen'; $lang['user']['spamfilter'] = 'Spamfilter'; $lang['admin']['spamfilter'] = 'Spamfilter'; $lang['user']['spamfilter_wl'] = 'Whitelist'; -$lang['user']['spamfilter_wl_desc'] = 'Für E-Mail-Adressen, die vom Spamfilter nicht erfasst werden sollen. Die Verwendung von Wildcards ist gestattet.'; +$lang['user']['spamfilter_wl_desc'] = 'Für E-Mail-Adressen, die vom Spamfilter nicht erfasst werden sollen. Die Verwendung von Wildcards ist gestattet. Ein Filter funktioniert lediglich für direkte nicht-"Catch All" Alias-Adressen (Alias-Adressen mit lediglich einer Mailbox als Ziel-Adresse) sowie die Mailbox-Adresse selbst.'; $lang['user']['spamfilter_bl'] = 'Blacklist'; -$lang['user']['spamfilter_bl_desc'] = 'Für E-Mail-Adressen, die vom Spamfilter immer als Spam erfasst und abgelehnt werden. Die Verwendung von Wildcards ist gestattet.'; +$lang['user']['spamfilter_bl_desc'] = 'Für E-Mail-Adressen, die vom Spamfilter immer als Spam erfasst und abgelehnt werden. Die Verwendung von Wildcards ist gestattet. Ein Filter funktioniert lediglich für direkte nicht-"Catch All" Alias-Adressen (Alias-Adressen mit lediglich einer Mailbox als Ziel-Adresse) sowie die Mailbox-Adresse selbst.'; $lang['user']['spamfilter_table_rule'] = 'Regel'; $lang['user']['spamfilter_table_action'] = 'Aktion'; $lang['user']['spamfilter_table_empty'] = 'Keine Einträge vorhanden'; diff --git a/data/web/lang/lang.en.php b/data/web/lang/lang.en.php index cce4f7c3..78390ddd 100644 --- a/data/web/lang/lang.en.php +++ b/data/web/lang/lang.en.php @@ -144,9 +144,9 @@ $lang['user']['weeks'] = 'Weeks'; $lang['user']['spamfilter'] = 'Spam filter'; $lang['admin']['spamfilter'] = 'Spam filter'; $lang['user']['spamfilter_wl'] = 'Whitelist'; -$lang['user']['spamfilter_wl_desc'] = 'Whitelisted email addresses to never classify as spam. Wildcards may be used.'; +$lang['user']['spamfilter_wl_desc'] = 'Whitelisted email addresses to never classify as spam. Wildcards may be used. A filter is only applied to direct aliases (aliases with a single target mailbox) exclulding catch-all aliases and a mailbox itself.'; $lang['user']['spamfilter_bl'] = 'Blacklist'; -$lang['user']['spamfilter_bl_desc'] = 'Blacklisted email addresses to always classify as spam and reject. Wildcards may be used.'; +$lang['user']['spamfilter_bl_desc'] = 'Blacklisted email addresses to always classify as spam and reject. Wildcards may be used. A filter is only applied to direct aliases (aliases with a single target mailbox) exclulding catch-all aliases and a mailbox itself.'; $lang['user']['spamfilter_behavior'] = 'Rating'; $lang['user']['spamfilter_table_rule'] = 'Rule'; $lang['user']['spamfilter_table_action'] = 'Action';