diff --git a/dashboard/src/views/EmailSettingsView.vue b/dashboard/src/views/EmailSettingsView.vue index 18a3db2e7..015c264d1 100644 --- a/dashboard/src/views/EmailSettingsView.vue +++ b/dashboard/src/views/EmailSettingsView.vue @@ -137,12 +137,20 @@ const spamFilterDialog = useTemplateRef('spamFilterDialog'); const spamFilterBusy = ref(false); const spamFilterError = ref(''); const blocklist = ref([]); +const blocklistString = ref(''); const allowlist = ref([]); +const allowlistString = ref(''); const spamCustomConfig = ref(''); +const blocklistCount = computed(() => { + return blocklist.value.filter(l => l.trim()).filter(l => l.indexOf('#') !== 0).length; +}); + function onShowSpamFilterDialog() { spamFilterError.value = ''; spamFilterBusy.value = false; + blocklistString.value = blocklist.value.join('\n'); + allowlistString.value = allowlist.value.join('\n'); spamFilterDialog.value.open(); } @@ -151,8 +159,8 @@ async function onSubmitSpamFilter() { spamFilterError.value = ''; spamFilterBusy.value = true; - const block = blocklist.value.split('\n').filter((l) => { return l !== ''; }); - const allow = allowlist.value.split('\n').filter((l) => { return l !== ''; }); + const block = blocklistString.value.split('\n').filter((l) => { return l !== ''; }); + const allow = allowlistString.value.split('\n').filter((l) => { return l !== ''; }); let [error] = await mailModel.setSpamAcl(allow, block); if (error) { @@ -170,8 +178,8 @@ async function onSubmitSpamFilter() { spamFilterDialog.value.close(); - blocklist.value = block.join('\n'); - allowlist.value = allow.join('\n'); + blocklist.value = block; + allowlist.value = allow; spamFilterBusy.value = false; } @@ -212,8 +220,8 @@ onMounted(async () => { [error, result] = await mailModel.spamAcl(); if (error) return console.error(error); - allowlist.value = result.allowlist.join('\n'); - blocklist.value = result.blocklist.join('\n'); + allowlist.value = result.allowlist; + blocklist.value = result.blocklist; [error, result] = await mailModel.ftsConfig(); if (error) return console.error(error); @@ -268,7 +276,7 @@ onMounted(async () => { {{ $t('emails.spamFilterDialog.blacklisteAddresses') }} {{ $t('emails.spamFilterDialog.blacklisteAddressesInfo') }} - + @@ -349,7 +357,7 @@ onMounted(async () => { {{ $t('emails.settings.spamFilter') }} - {{ $t('emails.settings.spamFilterOverview', { blacklistCount: blocklist.length }) }} + {{ $t('emails.settings.spamFilterOverview', { blacklistCount: blocklistCount }) }} {{ $t('main.dialog.edit') }}
{{ $t('emails.spamFilterDialog.blacklisteAddressesInfo') }}