diff --git a/data/web/inc/ajax/qitem_details.php b/data/web/inc/ajax/qitem_details.php index 35e599ca..1611c822 100644 --- a/data/web/inc/ajax/qitem_details.php +++ b/data/web/inc/ajax/qitem_details.php @@ -127,6 +127,7 @@ elseif (!empty($_GET['id']) && ctype_alnum($_GET['id'])) { $data['fuzzy_hashes'] = json_decode($mailc['fuzzy_hashes']); // Get text/plain content $data['text_plain'] = $mail_parser->getMessageBody('text'); + if (!json_encode($data['text_plain'])) $data['text_plain'] = ''; // Get html content and convert to text $data['text_html'] = $html2text->convert($mail_parser->getMessageBody('html')); if (empty($data['text_plain']) && empty($data['text_html'])) { diff --git a/data/web/templates/base.twig b/data/web/templates/base.twig index ed0d7b05..653762b5 100644 --- a/data/web/templates/base.twig +++ b/data/web/templates/base.twig @@ -172,7 +172,7 @@ function recursiveBase64StrToArrayBuffer(obj) { // TFA, CSRF, Alerts in footer.inc.php // Other general functions in mailcow.js {% for alert_type, alert_msg in alerts %} - mailcow_alert_box('{{ alert_msg|raw }}', '{{ alert_type }}'); + mailcow_alert_box('{{ alert_msg|raw|e("js") }}', '{{ alert_type }}'); {% endfor %} // Confirm TFA modal diff --git a/docker-compose.yml b/docker-compose.yml index b19130cb..05d5d83b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -76,7 +76,7 @@ services: - clamd rspamd-mailcow: - image: mailcow/rspamd:1.91 + image: mailcow/rspamd:1.90 stop_grace_period: 30s depends_on: - dovecot-mailcow @@ -424,7 +424,7 @@ services: - acme netfilter-mailcow: - image: mailcow/netfilter:1.48 + image: mailcow/netfilter:1.49 stop_grace_period: 30s depends_on: - dovecot-mailcow