Commit graph

5378 commits

Author SHA1 Message Date
Kilian Ries
aeec34bcfb style: neutralize quarantine notification template colors
Make the default notification email look more professional and less
playful by removing the bright-green chrome:

- Header: solid green bar -> white header with dark slate title and a
  subtle bottom divider, merged flush with the body as one card.
- Primary action button (release / send copy): green -> dark slate,
  with a lighter-slate dark-mode override.

Semantic status badges (rejected = red, junk = amber) and all Jinja2
variables, escaping, qhandler links, dark-mode and mobile rules are
unchanged.
2026-06-29 10:26:27 +02:00
Kilian Ries
7970447fea feat: server-wide default quarantine notification settings + modern template
Add an admin-configurable, server-wide default for the quarantine
notification interval and category. Previously these two per-mailbox
settings could only fall back to compile-time values in vars.inc.php and
there was no way to set a default from the UI or apply one to existing
mailboxes.

- Store defaults in Redis (Q_DEF_NOTIFICATION, Q_DEF_CATEGORY) via the
  existing quarantine settings handler, alongside the other Q_* keys.
- New mailboxes inherit the global default through a new
  get_quarantine_default() helper (Redis -> vars.inc.php fallback).
  Per-mailbox user overrides keep working unchanged.
- New admin action "apply_existing" force-applies the default to all
  existing mailboxes (admin only, confirm dialog in the UI).
- Add two dropdowns and an apply button to the admin quarantine settings
  tab plus the corresponding language strings.
- Rewrite the notification email template (data/assets/templates/
  quarantine.tpl) as a clean, mobile-first, responsive, dark-mode aware
  layout. All Jinja2 variables, HTML escaping and qhandler links are
  preserved; only installs with an empty custom template are affected.

No DB schema change, no migration, no Docker image rebuild.
2026-06-26 12:04:41 +02:00
FreddleSpl0it
1f8b4679cc
[Nignx] Update to 1.30.3 2026-06-25 12:17:37 +02:00
milkmaker
9e723e942d
Translations update from Weblate (#7302)
* [Web] Updated lang.fr-fr.json

Co-authored-by: Romain Ayme <ayme.romain@hotmail.fr>

* [Web] Updated lang.si-si.json

Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si>

---------

Co-authored-by: Romain Ayme <ayme.romain@hotmail.fr>
Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si>
2026-06-20 13:57:15 +02:00
FreddleSpl0it
83a045ed3e
Merge pull request #7193 from mailcow/renovate/composer-composer-2.x
Update dependency composer/composer to v2.10.1
2026-06-11 10:07:19 +02:00
FreddleSpl0it
064817ac70
Merge pull request #7189 from mailcow/renovate/php-pecl-mail-mailparse-3.x
Update dependency php/pecl-mail-mailparse to v3.2.0
2026-06-11 10:06:49 +02:00
FreddleSpl0it
2bd7a24b8c
Merge pull request #7212 from mailcow/mkuron-patch-mobileconfig
Escape generated password in mobileconfig
2026-06-11 10:05:17 +02:00
FreddleSpl0it
ecc2462e4c
Merge pull request #7267 from goodygh/7249-update-sogo
[SOGo] Update to 5.12.9
2026-06-11 10:04:30 +02:00
FreddleSpl0it
2d8db72d46
Merge pull request #7275 from Snafu/fix/admin-mailbox-tfa-missing
Fix force_tfa not available in mailbox template #7216
2026-06-11 10:03:39 +02:00
FreddleSpl0it
277a307fb9
[Web] Fix refresh SOGo view on mailbox deletion 2026-06-11 09:55:32 +02:00
FreddleSpl0it
d455555621
Merge pull request #7277 from ibobgunardi/bobi/mailcow-7136-sogo-active-refresh
Refresh SOGo view after mailbox activation
2026-06-11 09:53:30 +02:00
FreddleSpl0it
24cc369d84
[Rspamd] Migrate metadata_exporter to multipart formatter 2026-06-11 09:34:27 +02:00
FreddleSpl0it
5f5367f2f9
Merge pull request #7172 from mailcow/dragoangel-patch-4
Update RSPAMD version to 4.1.0 in Dockerfile
2026-06-11 09:04:19 +02:00
milkmaker
03c31f825a
update postscreen_access.cidr (#7269) 2026-06-09 12:20:53 +02:00
Dmytro Alieksieiev
15891960f7
Update RSPAMD version to 4.1.0 2026-06-09 01:19:06 +02:00
Bobby
cce02e2b15 Refresh SOGo view after mailbox activation 2026-06-08 00:01:43 +07:00
Snafu
0fafda696b Fix force_tfa not available in mailbox template #7216 2026-06-07 17:03:52 +02:00
renovate[bot]
843db5854c
Update dependency composer/composer to v2.10.1
Signed-off-by: milkmaker <milkmaker@mailcow.de>
2026-06-04 11:04:42 +00:00
goodygh
23e4e4f373 [SOGo] Update to 5.12.9 2026-05-29 01:39:38 +02:00
goodygh
175878f8f1
ui, fail2ban fix german ban_list_info translation (#7265) 2026-05-28 22:20:26 +02:00
milkmaker
3fcda21c4e
[Web] Updated lang.vi-vn.json (#7263)
Co-authored-by: Phu D. Nguyen <sillycat@duck.com>
2026-05-27 17:46:42 +02:00
milkmaker
eac1bf02fc
[Web] Updated lang.lv-lv.json (#7262)
Co-authored-by: Edgars Andersons <Edgars+Mailcow+Weblate@gaitenis.id.lv>
2026-05-26 22:02:05 +02:00
FreddleSpl0it
be37bc5a68
Merge pull request #7252 from SYNLINQ/staging
fix unbound CVE-2026-33278
2026-05-26 10:41:52 +02:00
FreddleSpl0it
db4e3b4d54
[Nginx] Update to 1.30.2 2026-05-26 10:36:39 +02:00
Michael Kuron
ffbc37a00c Escape generated password in mobileconfig
Escape ampersand, less than, greater than to avoid generating invalid XML.

Fixes #7171
2026-05-24 11:52:12 +02:00
SYNLINQ
7d17715e2e
Update Dockerfile
install unbound package from alpine:edge
2026-05-22 16:26:47 +02:00
milkmaker
4f2348631a
[Web] Updated lang.pl-pl.json (#7245)
Co-authored-by: Adrian-Kozien <adrian@kozien.net>
2026-05-21 17:16:34 +02:00
FreddleSpl0it
22ae1f5363
Merge pull request #7241 from mailcow/fix/quarantinetable
escape HTML in quarantine table
2026-05-20 18:02:19 +02:00
FreddleSpl0it
cbd3d8b9bc
escape HTML in quarantine table 2026-05-20 17:53:47 +02:00
FreddleSpl0it
f553f38635
[Nginx] Update to 1.30.1 2026-05-20 17:24:41 +02:00
renovate[bot]
104af58628
Update dependency php/pecl-mail-mailparse to v3.2.0
Signed-off-by: milkmaker <milkmaker@mailcow.de>
2026-05-14 18:33:03 +00:00
Jahongir Qurbonov
4ddcee28e4
Add Uzbek language (#7224) 2026-05-13 16:42:38 +02:00
milkmaker
b0d16bbcee
[Web] Updated lang.pt-br.json (#7228)
Co-authored-by: Edson Wolf <edsonwolf@vivaldi.net>
2026-05-13 16:42:03 +02:00
FreddleSpl0it
ff3d571054
[SOGo] Update to 5.12.8 2026-05-13 10:31:23 +02:00
FreddleSpl0it
a8e945f3da
Merge pull request #7220 from mailcow/fix/06052026
[Web] escape HTML in sieve filter edit view and queue manager
2026-05-12 08:36:36 +02:00
FreddleSpl0it
33547d1d73
[Web] escape HTML in sieve filter edit view and queue manager 2026-05-12 08:31:51 +02:00
milkmaker
539c32d99c
Translations update from Weblate (#7218)
* [Web] Updated lang.az-az.json

Co-authored-by: Nemoralis <nemoralis@duck.com>

* [Web] Updated lang.nl-nl.json

Co-authored-by: Tom18314 <tomstokmans5@gmail.com>

* [Web] Updated lang.pl-pl.json

Co-authored-by: pmuch78 <pawel@prolin.pl>

---------

Co-authored-by: Nemoralis <nemoralis@duck.com>
Co-authored-by: Tom18314 <tomstokmans5@gmail.com>
Co-authored-by: pmuch78 <pawel@prolin.pl>
2026-05-08 16:46:10 +02:00
milkmaker
d42c3823c4
update postscreen_access.cidr (#7209) 2026-05-02 19:15:14 +02:00
milkmaker
886dbcc419
Translations update from Weblate (#7190)
* [Web] Updated lang.az-az.json

[Web] Added lang.az-az.json

Co-authored-by: Nemoralis <nemoralis@duck.com>
Co-authored-by: Peter <magic@kthx.at>
Co-authored-by: milkmaker <milkmaker@mailcow.de>

* [Web] Updated lang.si-si.json

Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si>

* [Web] Updated lang.pt-br.json

Co-authored-by: André Ribas <andre@ribassu.com>

---------

Co-authored-by: Nemoralis <nemoralis@duck.com>
Co-authored-by: Peter <magic@kthx.at>
Co-authored-by: Matjaž Tekavec <matjaz@moj-svet.si>
Co-authored-by: André Ribas <andre@ribassu.com>
2026-04-11 21:25:03 +02:00
Dmitriy Alekseev
b0873edb6a
Update RSPAMD version in Dockerfile 2026-04-06 17:28:32 +02:00
Dmitriy Alekseev
694d751915
Update RSPAMD version in Dockerfile 2026-04-06 17:28:14 +02:00
milkmaker
dc15994d40
update postscreen_access.cidr (#7177) 2026-04-02 11:50:05 +02:00
Dmitriy Alekseev
08278a8be9
Update RSPAMD version to 4.0.0 in Dockerfile 2026-03-30 23:51:05 +02:00
FreddleSpl0it
5a00b5124b
[Web][Dovecot] Add parameterized queries and input validation for quarantine_category 2026-03-29 12:08:45 +02:00
FreddleSpl0it
8c039f694f
Improve template URI escaping and parameter handling 2026-03-19 12:48:43 +01:00
FreddleSpl0it
95bf46c1e4
escape HTML in autodiscover logs 2026-03-19 12:44:50 +01:00
FreddleSpl0it
edde35156d
escape HTML in qitem details 2026-03-19 12:44:30 +01:00
FreddleSpl0it
84e3c32f13
escape HTML in last logins 2026-03-19 12:44:00 +01:00
FreddleSpl0it
ecb848493b
add missing object-level access control 2026-03-19 12:42:45 +01:00
FreddleSpl0it
8a65b9d1c6
add missing access control 2026-03-19 12:41:47 +01:00