mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2026-06-17 12:00:35 +00:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ae8e02ac0 | |||
| 6633da54d4 | |||
| c7d020f9ff | |||
| c4135f7033 | |||
| 1fe4cd03e9 | |||
| 12e02e67ff | |||
| b6f57dfb78 | |||
| 3ebf2c2d2d |
@@ -121,7 +121,13 @@ echo -n 'quota acl zlib mail_crypt mail_crypt_acl mail_log notify fts fts_flatcu
|
|||||||
echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify mail_log fts fts_flatcurve listescape replication' > /etc/dovecot/mail_plugins_imap
|
echo -n 'quota imap_quota imap_acl acl zlib imap_zlib imap_sieve mail_crypt mail_crypt_acl notify mail_log fts fts_flatcurve listescape replication' > /etc/dovecot/mail_plugins_imap
|
||||||
echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl fts fts_flatcurve notify listescape replication' > /etc/dovecot/mail_plugins_lmtp
|
echo -n 'quota sieve acl zlib mail_crypt mail_crypt_acl fts fts_flatcurve notify listescape replication' > /etc/dovecot/mail_plugins_lmtp
|
||||||
fi
|
fi
|
||||||
chmod 644 /etc/dovecot/mail_plugins /etc/dovecot/mail_plugins_imap /etc/dovecot/mail_plugins_lmtp /templates/quarantine.tpl
|
|
||||||
|
# Create empty extra plugin files if they don't exist (can be populated via extra.conf or direct file)
|
||||||
|
for plugin_file in mail_plugins_extra mail_plugins_imap_extra mail_plugins_lmtp_extra; do
|
||||||
|
[[ ! -f /etc/dovecot/${plugin_file} ]] && touch /etc/dovecot/${plugin_file}
|
||||||
|
done
|
||||||
|
|
||||||
|
chmod 644 /etc/dovecot/mail_plugins /etc/dovecot/mail_plugins_imap /etc/dovecot/mail_plugins_lmtp /etc/dovecot/mail_plugins_extra /etc/dovecot/mail_plugins_imap_extra /etc/dovecot/mail_plugins_lmtp_extra /templates/quarantine.tpl
|
||||||
|
|
||||||
cat <<EOF > /etc/dovecot/sql/dovecot-dict-sql-userdb.conf
|
cat <<EOF > /etc/dovecot/sql/dovecot-dict-sql-userdb.conf
|
||||||
# Autogenerated by mailcow
|
# Autogenerated by mailcow
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ FROM debian:trixie-slim
|
|||||||
LABEL maintainer="The Infrastructure Company GmbH <info@servercow.de>"
|
LABEL maintainer="The Infrastructure Company GmbH <info@servercow.de>"
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
ARG RSPAMD_VER=rspamd_3.14.1-1~46a758617
|
ARG RSPAMD_VER=rspamd_3.14.2-82~90302bc
|
||||||
ARG CODENAME=trixie
|
ARG CODENAME=trixie
|
||||||
ENV LC_ALL=C
|
ENV LC_ALL=C
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,25 @@
|
|||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
# Please create a file "extra.conf" for persistent overrides to dovecot.conf
|
# Please create a file "extra.conf" for persistent overrides to dovecot.conf
|
||||||
# --------------------------------------------------------------------------
|
# --------------------------------------------------------------------------
|
||||||
|
# To extend mail_plugins, you have two options:
|
||||||
|
#
|
||||||
|
# Option 1 (Recommended): Use the extra plugin files directly
|
||||||
|
# Create/edit data/conf/dovecot/mail_plugins_extra (for global plugins)
|
||||||
|
# Create/edit data/conf/dovecot/mail_plugins_imap_extra (for IMAP-specific plugins)
|
||||||
|
# Create/edit data/conf/dovecot/mail_plugins_lmtp_extra (for LMTP-specific plugins)
|
||||||
|
# Note: These paths are on the host. Inside the container they are /etc/dovecot/mail_plugins_*
|
||||||
|
# Example to add the virtual plugin for IMAP:
|
||||||
|
# echo -n ' virtual' > data/conf/dovecot/mail_plugins_imap_extra
|
||||||
|
# docker-compose restart dovecot-mailcow
|
||||||
|
#
|
||||||
|
# Option 2: Override protocol sections in extra.conf
|
||||||
|
# Create data/conf/dovecot/extra.conf with protocol-specific overrides:
|
||||||
|
# protocol imap {
|
||||||
|
# mail_plugins = $mail_plugins virtual
|
||||||
|
# }
|
||||||
|
# Note: This requires redefining the entire protocol block and may override
|
||||||
|
# other settings. Option 1 is simpler and less prone to conflicts.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
# LDAP example:
|
# LDAP example:
|
||||||
#passdb {
|
#passdb {
|
||||||
# args = /etc/dovecot/ldap/passdb.conf
|
# args = /etc/dovecot/ldap/passdb.conf
|
||||||
@@ -21,7 +40,7 @@ disable_plaintext_auth = yes
|
|||||||
login_log_format_elements = "user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k"
|
login_log_format_elements = "user=<%u> method=%m rip=%r lip=%l mpid=%e %c %k"
|
||||||
mail_home = /var/vmail/%d/%n
|
mail_home = /var/vmail/%d/%n
|
||||||
mail_location = maildir:~/
|
mail_location = maildir:~/
|
||||||
mail_plugins = </etc/dovecot/mail_plugins
|
mail_plugins = </etc/dovecot/mail_plugins </etc/dovecot/mail_plugins_extra
|
||||||
mail_attachment_fs = crypt:set_prefix=mail_crypt_global:posix:
|
mail_attachment_fs = crypt:set_prefix=mail_crypt_global:posix:
|
||||||
mail_attachment_dir = /var/attachments
|
mail_attachment_dir = /var/attachments
|
||||||
mail_attachment_min_size = 128k
|
mail_attachment_min_size = 128k
|
||||||
@@ -180,12 +199,12 @@ userdb {
|
|||||||
skip = found
|
skip = found
|
||||||
}
|
}
|
||||||
protocol imap {
|
protocol imap {
|
||||||
mail_plugins = </etc/dovecot/mail_plugins_imap
|
mail_plugins = </etc/dovecot/mail_plugins_imap </etc/dovecot/mail_plugins_imap_extra
|
||||||
imap_metadata = yes
|
imap_metadata = yes
|
||||||
}
|
}
|
||||||
mail_attribute_dict = file:%h/dovecot-attributes
|
mail_attribute_dict = file:%h/dovecot-attributes
|
||||||
protocol lmtp {
|
protocol lmtp {
|
||||||
mail_plugins = </etc/dovecot/mail_plugins_lmtp
|
mail_plugins = </etc/dovecot/mail_plugins_lmtp </etc/dovecot/mail_plugins_lmtp_extra
|
||||||
auth_socket_path = /var/run/dovecot/auth-master
|
auth_socket_path = /var/run/dovecot/auth-master
|
||||||
}
|
}
|
||||||
protocol sieve {
|
protocol sieve {
|
||||||
|
|||||||
@@ -54,7 +54,16 @@ jQuery(function($){
|
|||||||
$.get("/inc/ajax/show_rspamd_global_filters.php");
|
$.get("/inc/ajax/show_rspamd_global_filters.php");
|
||||||
$("#confirm_show_rspamd_global_filters").hide();
|
$("#confirm_show_rspamd_global_filters").hide();
|
||||||
$("#rspamd_global_filters").removeClass("d-none");
|
$("#rspamd_global_filters").removeClass("d-none");
|
||||||
|
localStorage.setItem('rspamd_global_filters_confirmed', 'true');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
if (localStorage.getItem('rspamd_global_filters_confirmed') === 'true') {
|
||||||
|
$("#confirm_show_rspamd_global_filters").hide();
|
||||||
|
$("#rspamd_global_filters").removeClass("d-none");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$("#super_delete").click(function() { return confirm(lang.queue_ays); });
|
$("#super_delete").click(function() { return confirm(lang.queue_ays); });
|
||||||
|
|
||||||
$(".refresh_table").on('click', function(e) {
|
$(".refresh_table").on('click', function(e) {
|
||||||
|
|||||||
@@ -1266,7 +1266,7 @@
|
|||||||
"no_last_login": "Aucune dernière information de connexion à l'interface",
|
"no_last_login": "Aucune dernière information de connexion à l'interface",
|
||||||
"no_record": "Pas d'enregistrement",
|
"no_record": "Pas d'enregistrement",
|
||||||
"password": "Mot de passe",
|
"password": "Mot de passe",
|
||||||
"password_now": "Mot de passe courant (confirmer les changements)",
|
"password_now": "Mot de passe actuel (confirmer les changements)",
|
||||||
"password_repeat": "Mot de passe (répéter)",
|
"password_repeat": "Mot de passe (répéter)",
|
||||||
"pushover_evaluate_x_prio": "Acheminement du courrier hautement prioritaire [<code>X-Priority: 1</code>]",
|
"pushover_evaluate_x_prio": "Acheminement du courrier hautement prioritaire [<code>X-Priority: 1</code>]",
|
||||||
"pushover_info": "Les paramètres de notification push s’appliqueront à tout le courrier propre (non spam) livré à <b>%s</b> y compris les alias (partagés, non partagés, étiquetés).",
|
"pushover_info": "Les paramètres de notification push s’appliqueront à tout le courrier propre (non spam) livré à <b>%s</b> y compris les alias (partagés, non partagés, étiquetés).",
|
||||||
|
|||||||
@@ -240,7 +240,7 @@
|
|||||||
"generate": "Generuj",
|
"generate": "Generuj",
|
||||||
"guid": "GUID - unikalny identyfikator instancji",
|
"guid": "GUID - unikalny identyfikator instancji",
|
||||||
"guid_and_license": "GUID & licencja",
|
"guid_and_license": "GUID & licencja",
|
||||||
"hash_remove_info": "Usunięcie hasha z limitem współczynnika (jeśli nadal istnieje) spowoduje całkowite zresetowanie jego licznika.<br>\n\n\n\n Każdy hash jest oznaczony indywidualnym kolorem.",
|
"hash_remove_info": "Usunięcie hasha z limitem współczynnika (jeśli nadal istnieje) spowoduje całkowite zresetowanie jego licznika.<br> Każdy hash jest oznaczony indywidualnym kolorem.",
|
||||||
"help_text": "Zastąp tekst pomocy poniżej maski logowania (dozwolone HTML)",
|
"help_text": "Zastąp tekst pomocy poniżej maski logowania (dozwolone HTML)",
|
||||||
"html": "HTML",
|
"html": "HTML",
|
||||||
"iam": "Dostawca tożsamości",
|
"iam": "Dostawca tożsamości",
|
||||||
@@ -683,7 +683,11 @@
|
|||||||
"mailbox_rename_agree": "Stworzyłem kopię zapasową.",
|
"mailbox_rename_agree": "Stworzyłem kopię zapasową.",
|
||||||
"mailbox_rename_warning": "WAŻNE! Utwórz kopię zapasową przed zmianą nazwy skrzynki pocztowej.",
|
"mailbox_rename_warning": "WAŻNE! Utwórz kopię zapasową przed zmianą nazwy skrzynki pocztowej.",
|
||||||
"mailbox_rename_alias": "Tworzenie aliasów automatycznie",
|
"mailbox_rename_alias": "Tworzenie aliasów automatycznie",
|
||||||
"mailbox_rename_title": "Nowa nazwa lokalnej skrzynki pocztowej"
|
"mailbox_rename_title": "Nowa nazwa lokalnej skrzynki pocztowej",
|
||||||
|
"mbox_rl_info": "Ten limit szybkości dotyczy nazwy logowania SASL i odpowiada dowolnemu adresowi „from” używanemu przez zalogowanego użytkownika. Limit szybkości dla skrzynki pocztowej nadpisuje limit szybkości dla całej domeny.",
|
||||||
|
"nexthop": "Następny hop",
|
||||||
|
"private_comment": "Prywatny komentarz",
|
||||||
|
"public_comment": "Komentarz publiczny"
|
||||||
},
|
},
|
||||||
"footer": {
|
"footer": {
|
||||||
"cancel": "Anuluj",
|
"cancel": "Anuluj",
|
||||||
@@ -1075,7 +1079,7 @@
|
|||||||
"spamfilter_table_remove": "Usuń",
|
"spamfilter_table_remove": "Usuń",
|
||||||
"spamfilter_table_rule": "Zasada",
|
"spamfilter_table_rule": "Zasada",
|
||||||
"spamfilter_wl": "Biała lista",
|
"spamfilter_wl": "Biała lista",
|
||||||
"spamfilter_wl_desc": "Adresy e-mail znajdujące się na liście dozwolonych (allowlist) są zaprogramowane tak, aby <b> nigdy nie </b> były klasyfikowane jako spam.\nMożna używać symboli wieloznacznych (wildcardów).\nFiltr jest stosowany wyłącznie do bezpośrednich aliasów (aliasów wskazujących na jedną skrzynkę pocztową), z wyłączeniem aliasów typu „catch-all” oraz samej skrzynki pocztowej",
|
"spamfilter_wl_desc": "Adresy e-mail znajdujące się na liście dozwolonych (allowlist) są zaprogramowane tak, aby <b> nigdy nie </b> były klasyfikowane jako spam. Można używać symboli wieloznacznych (wildcardów).Filtr jest stosowany wyłącznie do bezpośrednich aliasów (aliasów wskazujących na jedną skrzynkę pocztową), z wyłączeniem aliasów typu „catch-all” oraz samej skrzynki pocztowej",
|
||||||
"spamfilter_yellow": "Żółty: ta wiadomość może być spamem, zostanie oznaczona jako spam i przeniesiona do folderu spam",
|
"spamfilter_yellow": "Żółty: ta wiadomość może być spamem, zostanie oznaczona jako spam i przeniesiona do folderu spam",
|
||||||
"sync_jobs": "Zadania synchronizacji",
|
"sync_jobs": "Zadania synchronizacji",
|
||||||
"tag_handling": "Ustaw obsługę znaczników pocztowych",
|
"tag_handling": "Ustaw obsługę znaczników pocztowych",
|
||||||
|
|||||||
@@ -340,7 +340,8 @@
|
|||||||
"tls_policy": "Política de TLS",
|
"tls_policy": "Política de TLS",
|
||||||
"quarantine_attachments": "Anexos de quarentena",
|
"quarantine_attachments": "Anexos de quarentena",
|
||||||
"filters": "Filtros",
|
"filters": "Filtros",
|
||||||
"smtp_ip_access": "Mudar anfitriões permitidos para SMTP"
|
"smtp_ip_access": "Mudar anfitriões permitidos para SMTP",
|
||||||
|
"app_passwds": "Gerenciar senhas de aplicativos"
|
||||||
},
|
},
|
||||||
"warning": {
|
"warning": {
|
||||||
"no_active_admin": "Não é possível desactivar o último administrador activo"
|
"no_active_admin": "Não é possível desactivar o último administrador activo"
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
|
|
||||||
<form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>
|
<form action="/" method="post" id="logout"><input type="hidden" name="logout"></form>
|
||||||
|
|
||||||
{% if ui_texts.ui_announcement_text and ui_texts.ui_announcement_active and not is_root_uri %}
|
{% if ui_texts.ui_announcement_text and ui_texts.ui_announcement_active and not is_root_uri and mailcow_cc_username %}
|
||||||
<div class="container mt-4">
|
<div class="container mt-4">
|
||||||
<div class="alert alert-{{ ui_texts.ui_announcement_type }}">{{ ui_texts.ui_announcement_text }}</div>
|
<div class="alert alert-{{ ui_texts.ui_announcement_type }}">{{ ui_texts.ui_announcement_text }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -84,7 +84,7 @@ services:
|
|||||||
- clamd
|
- clamd
|
||||||
|
|
||||||
rspamd-mailcow:
|
rspamd-mailcow:
|
||||||
image: ghcr.io/mailcow/rspamd:3.14.1
|
image: ghcr.io/mailcow/rspamd:3.14.2
|
||||||
stop_grace_period: 30s
|
stop_grace_period: 30s
|
||||||
depends_on:
|
depends_on:
|
||||||
- dovecot-mailcow
|
- dovecot-mailcow
|
||||||
|
|||||||
Reference in New Issue
Block a user