diff --git a/data/conf/postfix/anonymize_headers.pcre b/data/conf/postfix/anonymize_headers.pcre
index 739237be..061a4bc0 100644
--- a/data/conf/postfix/anonymize_headers.pcre
+++ b/data/conf/postfix/anonymize_headers.pcre
@@ -12,7 +12,8 @@ if /^\s*Received: from.* \(.*rspamd-mailcow.*mailcow-network.*\).*\(Postcow\)/
REPLACE Received: from rspamd (rspamd $3) by $4 (Postcow) with $5
endif
/^\s*X-Enigmail/ IGNORE
-/^\s*X-Mailer/ IGNORE
+# Not removing Mailer by default, might be signed
+#/^\s*X-Mailer/ IGNORE
/^\s*X-Originating-IP/ IGNORE
/^\s*X-Forward/ IGNORE
# Not removing UA by default, might be signed
diff --git a/data/conf/postfix/main.cf b/data/conf/postfix/main.cf
index 237b4263..1dce6a4c 100644
--- a/data/conf/postfix/main.cf
+++ b/data/conf/postfix/main.cf
@@ -11,6 +11,7 @@ smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks,
permit_sasl_authenticated,
defer_unauth_destination
+smtpd_forbid_bare_newline = yes
# alias maps are auto-generated in postfix.sh on startup
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
diff --git a/data/web/lang/lang.pt-br.json b/data/web/lang/lang.pt-br.json
index 1613b49b..9acaf87c 100644
--- a/data/web/lang/lang.pt-br.json
+++ b/data/web/lang/lang.pt-br.json
@@ -9,8 +9,8 @@
"eas_reset": "Redefinir dispositivos EAS",
"extend_sender_acl": "Permitir estender a ACL do remetente por endereços externos",
"filters": "Filtros",
- "login_as": "Faça login como usuário da caixa de correio",
- "mailbox_relayhost": "Alterar relayhost para uma caixa de correio",
+ "login_as": "Faça login como usuário da mailbox",
+ "mailbox_relayhost": "Alterar relayhost para uma mailbox",
"prohibited": "Proibido pela ACL",
"protocol_access": "Alterar o acesso ao protocolo",
"pushover": "Pushover",
@@ -28,7 +28,7 @@
"spam_score": "Pontuação de spam",
"syncjobs": "Trabalhos de sincronização",
"tls_policy": "Política de TLS",
- "unlimited_quota": "Cota ilimitada para caixas de correio"
+ "unlimited_quota": "Cota ilimitada para mailbox"
},
"add": {
"activate_filter_warn": "Todos os outros filtros serão desativados quando a opção ativa estiver marcada.",
@@ -70,11 +70,11 @@
"hostname": "Anfitrião",
"inactive": "Inativo",
"kind": "Gentil",
- "mailbox_quota_def": "Cota de caixa de correio padrão",
- "mailbox_quota_m": "Cota máxima por caixa de correio (MiB)",
+ "mailbox_quota_def": "Cota de caixa de mailbox",
+ "mailbox_quota_m": "Cota máxima por mailbox (MiB)",
"mailbox_username": "Nome de usuário (parte esquerda de um endereço de e-mail)",
"max_aliases": "Máximo de aliases possíveis",
- "max_mailboxes": "Número máximo de caixas de correio possíveis",
+ "max_mailboxes": "Número máximo de mailboxes possíveis",
"mins_interval": "Intervalo de votação (minutos)",
"multiple_bookings": "Várias reservas",
"nexthop": "Próximo salto",
@@ -86,10 +86,10 @@
"public_comment": "Comentário público",
"quota_mb": "Cota (MiB)",
"relay_all": "Retransmita todos os destinatários",
- "relay_all_info": "↪ Se você optar por não retransmitir todos os destinatários, precisará adicionar uma caixa de correio (“cega”) para cada destinatário que deve ser retransmitido.",
+ "relay_all_info": "↪ Se você optar por não retransmitir todos os destinatários, precisará adicionar uma mailbox (“cega”) para cada destinatário que deve ser retransmitido.",
"relay_domain": "Retransmitir este domínio",
"relay_transport_info": "
Informações
Você pode definir mapas de transporte para um destino personalizado para esse domínio. Se não for definido, uma pesquisa MX será feita.",
- "relay_unknown_only": "Retransmita somente caixas de correio não existentes. As caixas de correio existentes serão entregues localmente.",
+ "relay_unknown_only": "Retransmita somente mailboxes não existentes. As mailboxes existentes serão entregues localmente.",
"relayhost_wrapped_tls_info": "Por favor, não use portas com cobertura TLS (usadas principalmente na porta 465).
\r\nUse qualquer porta não encapsulada e emita STARTTLS. Uma política de TLS para impor o TLS pode ser criada em “mapas de políticas de TLS”.",
"select": "Selecione...",
"select_domain": "Selecione primeiro um domínio",
@@ -212,7 +212,7 @@
"in_use_by": "Em uso por",
"inactive": "Inativo",
"include_exclude": "Incluir/Excluir",
- "include_exclude_info": "Por padrão - sem seleção - todas as caixas de correio são endereçadas",
+ "include_exclude_info": "Por padrão - sem seleção - todas as mailboxes são endereçadas",
"includes": "Inclua esses destinatários",
"ip_check": "Verificação de IP",
"ip_check_disabled": "A verificação de IP está desativada. Você pode ativá-lo em
Sistema > Configuração > Opções > Personalizar",
@@ -268,13 +268,13 @@
"quarantine_release_format": "Formato dos itens lançados",
"quarantine_release_format_att": "Como anexo",
"quarantine_release_format_raw": "Original não modificado",
- "quarantine_retention_size": "Retenções por caixa de correio: 0 indica inativo.
",
+ "quarantine_retention_size": "Retenções por mailbox:
0 indica inativo.",
"quota_notification_html": "Modelo de e-mail de notificação:
deixe em branco para restaurar o modelo padrão.",
"quota_notification_sender": "Remetente do e-mail de notificação",
"quota_notification_subject": "Assunto do e-mail de notificação",
"quota_notifications": "Notificações de cotas",
"quota_notifications_info": "As notificações de cota são enviadas aos usuários uma vez ao ultrapassar 80% e uma vez ao ultrapassar 95% de uso.",
- "quota_notifications_vars": "{{percent}} é igual à cota atual do usuário
{{username}} é o nome da caixa de correio",
+ "quota_notifications_vars": "{{percent}} é igual à cota atual do usuário
{{username}} é o nome da mailbox",
"queue_unban": "não banido",
"r_active": "Restrições ativas",
"r_inactive": "Restrições inativas",
@@ -302,7 +302,7 @@
"rsettings_insert_preset": "Inserir exemplo de predefinição “%s”",
"rsettings_preset_1": "Desative tudo, exceto o DKIM e o limite de taxa para usuários autenticados",
"rsettings_preset_2": "Postmasters querem spam",
- "rsettings_preset_3": "Permitir somente remetentes específicos para uma caixa de correio (ou seja, uso somente como caixa de correio interna)",
+ "rsettings_preset_3": "Permitir somente remetentes específicos para uma mailbox (ou seja, uso somente como mailbox interna)",
"rsettings_preset_4": "Desativar Rspamd para um domínio",
"rspamd_com_settings": "Um nome de configuração será gerado automaticamente, veja os exemplos de predefinições abaixo. Para obter mais detalhes, consulte a documentação do Rspamd",
"rspamd_global_filters": "Mapas de filtro globais",
@@ -369,7 +369,7 @@
"comment_too_long": "Comentário muito longo, máximo de 160 caracteres permitidos",
"cors_invalid_method": "Método de permissão inválido especificado",
"cors_invalid_origin": "Origem de permissão inválida especificada",
- "defquota_empty": "A cota padrão por caixa de correio não deve ser 0.",
+ "defquota_empty": "A cota padrão por mailbox não deve ser 0.",
"demo_mode_enabled": "O modo de demonstração está ativado",
"description_invalid": "A descrição do recurso para %s é inválida",
"dkim_domain_or_sel_exists": "Existe uma chave DKIM para “%s” e não será substituída",
@@ -407,22 +407,22 @@
"invalid_recipient_map_old": "Destinatário original inválido especificado: %s",
"ip_list_empty": "A lista de IPs permitidos não pode estar vazia",
"is_alias": "%s já é conhecido como endereço de alias",
- "is_alias_or_mailbox": "%s já é conhecido como alias, caixa de correio ou endereço de alias expandido a partir de um domínio de alias.",
+ "is_alias_or_mailbox": "%s já é conhecido como alias, mailbox ou alias de endereço expandido a partir de um domínio de alias.",
"is_spam_alias": "%s já é conhecido como endereço de alias temporário (endereço de alias de spam)",
"last_key": "A última chave não pode ser excluída. Em vez disso, desative o TFA.",
"login_failed": "Falha no login",
"mailbox_defquota_exceeds_mailbox_maxquota": "A cota padrão excede o limite máximo da cota",
- "mailbox_invalid": "O nome da caixa de correio é inválido",
+ "mailbox_invalid": "O nome da mailbox é inválido",
"mailbox_quota_exceeded": "A cota excede o limite do domínio (máx. %d MiB)",
"mailbox_quota_exceeds_domain_quota": "A cota máxima excede o limite da cota do domínio",
"mailbox_quota_left_exceeded": "Não há espaço restante (espaço restante: %d MiB)",
- "mailboxes_in_use": "O máximo de caixas de correio deve ser maior ou igual a %d",
+ "mailboxes_in_use": "O máximo de mailboxes deve ser maior ou igual a %d",
"malformed_username": "Nome de usuário malformado",
"map_content_empty": "O conteúdo do mapa não pode estar vazio",
"max_alias_exceeded": "Número máximo de aliases excedido",
- "max_mailbox_exceeded": "Número máximo de caixas de correio excedido (%d de %d)",
- "max_quota_in_use": "A cota da caixa de correio deve ser maior ou igual a %d MiB",
- "maxquota_empty": "A cota máxima por caixa de correio não deve ser 0.",
+ "max_mailbox_exceeded": "Número máximo de mailboxes excedido (%d de %d)",
+ "max_quota_in_use": "A cota da mailbox deve ser maior ou igual a %d MiB",
+ "maxquota_empty": "A cota máxima por mailbox não deve ser 0.",
"mysql_error": "Erro do MySQL: %s",
"network_host_invalid": "Rede ou host inválidos: %s",
"next_hop_interferes": "%s interfere com o nexthop %s",
@@ -619,11 +619,11 @@
"kind": "Gentil",
"last_modified": "Última modificação",
"lookup_mx": "Destination é uma expressão regular que corresponde ao nome MX (.*\\ .google\\ .com
para rotear todos os e-mails direcionados a um MX que termina em google.com nesse salto)",
- "mailbox": "Editar caixa de correio",
- "mailbox_quota_def": "Cota de caixa de correio padrão",
+ "mailbox": "Editar mailbox",
+ "mailbox_quota_def": "Cota mailbox padrão",
"mailbox_relayhost_info": "Aplicado somente à caixa de correio e aos aliases diretos, substitui um host de retransmissão de domínio.",
"max_aliases": "Máximo de aliases",
- "max_mailboxes": "Número máximo de caixas de correio possíveis",
+ "max_mailboxes": "Número máximo de mailboxes possíveis",
"max_quota": "Cota máxima por caixa de correio (MiB)",
"maxage": "Duração máxima das mensagens em dias que serão pesquisadas remotamente
(0 = ignorar a idade)",
"maxbytespersecond": "Máximo de bytes por segundo
(0 = ilimitado)",
@@ -657,7 +657,7 @@
"relay_all_info": "↪ Se você optar por não retransmitir todos os destinatários, precisará adicionar uma caixa de correio (“cega”) para cada destinatário que deve ser retransmitido.",
"relay_domain": "Retransmitir este domínio",
"relay_transport_info": "Informações
Você pode definir mapas de transporte para um destino personalizado para esse domínio. Se não for definido, uma pesquisa MX será feita.",
- "relay_unknown_only": "Retransmita somente caixas de correio não existentes. As caixas de correio existentes serão entregues localmente.",
+ "relay_unknown_only": "Retransmita somente mailboxes não existentes. As caixas de mailboxes serão entregues localmente.",
"relayhost": "Transportes dependentes do remetente",
"remove": "Remover",
"resource": "Recurso",
@@ -688,7 +688,7 @@
"username": "Nome de usuário",
"validate_save": "Valide e salve",
"custom_attributes": "Atributos personalizados",
- "mbox_exclude": "Excluir caixas de email"
+ "mbox_exclude": "Excluir mailboxes"
},
"fido2": {
"confirm": "Confirme",
@@ -831,13 +831,13 @@
"last_run_reset": "Programe a seguir",
"mailbox": "Caixa de correio",
"mailbox_defaults": "Configurações padrão",
- "mailbox_defaults_info": "Defina as configurações padrão para novas caixas de correio.",
+ "mailbox_defaults_info": "Defina as configurações padrão para novas mailboxes.",
"mailbox_defquota": "Tamanho padrão da caixa de correio",
"mailbox_templates": "Modelos de caixa de correio",
"mailbox_quota": "Tamanho máximo de uma caixa de correio",
- "mailboxes": "Caixas de correio",
+ "mailboxes": "mailboxes",
"max_aliases": "Máximo de aliases",
- "max_mailboxes": "Número máximo de caixas de correio possíveis",
+ "max_mailboxes": "Número máximo de mailboxes possíveis",
"max_quota": "Cota máxima por caixa de correio",
"mins_interval": "Intervalo (min)",
"msg_num": "Mensagem #",
@@ -865,7 +865,7 @@
"recipient_map_old_info": "O destino original do mapa de um destinatário deve ser um endereço de e-mail válido ou um nome de domínio.",
"recipient_maps": "Mapas de destinatários",
"relay_all": "Retransmita todos os destinatários",
- "relay_unknown": "Retransmitir caixas de correio desconhecidas",
+ "relay_unknown": "Retransmitir mailboxes desconhecidas",
"remove": "Remover",
"resources": "Recursos",
"running": "Executando",
@@ -1010,7 +1010,7 @@
"help": "Mostrar/ocultar painel de ajuda",
"imap_smtp_server_auth_info": "Use seu endereço de e-mail completo e o mecanismo de autenticação PLAIN.
\r\nSeus dados de login serão criptografados pela criptografia obrigatória do lado do servidor.",
"mailcow_apps_detail": "Use um aplicativo mailcow para acessar seus e-mails, calendário, contatos e muito mais.",
- "mailcow_panel_detail": "Os administradores de domínio criam, modificam ou excluem caixas de correio e aliases, alteram domínios e leem mais informações sobre seus domínios atribuídos.
\r\nOs usuários de caixas de correio podem criar aliases com limite de tempo (aliases de spam), alterar suas configurações de senha e filtro de spam."
+ "mailcow_panel_detail": "Os administradores de domínio criam, modificam ou excluem mailboxes e aliases, alteram domínios e leem mais informações sobre seus domínios atribuídos.
\nOs usuários de caixas de correio podem criar aliases com limite de tempo (aliases de spam), alterar suas configurações de senha e filtro de spam."
},
"success": {
"acl_saved": "ACL para o objeto %s salvo",
@@ -1298,7 +1298,7 @@
"ip_invalid": "IP inválido ignorado: %s",
"is_not_primary_alias": "Alias não primário ignorado %s",
"no_active_admin": "Não é possível desativar o último administrador ativo",
- "quota_exceeded_scope": "Cota de domínio excedida: somente caixas de correio ilimitadas podem ser criadas nesse escopo de domínio.",
+ "quota_exceeded_scope": "Cota de domínio excedida: somente mailboxes ilimitadas podem ser criadas nesse escopo de domínio.",
"session_token": "Token de formulário inválido: incompatibilidade de token",
"session_ua": "Token de formulário inválido: erro de validação do agente de usuário"
}
diff --git a/data/web/lang/lang.zh-tw.json b/data/web/lang/lang.zh-tw.json
index 2c9d61fd..4d84b211 100644
--- a/data/web/lang/lang.zh-tw.json
+++ b/data/web/lang/lang.zh-tw.json
@@ -107,7 +107,8 @@
"timeout2": "本地主機連線逾時時間",
"username": "使用者名稱",
"validate": "驗證",
- "validation_success": "驗證成功"
+ "validation_success": "驗證成功",
+ "dry": "模擬同步"
},
"admin": {
"access": "存取",
@@ -335,7 +336,22 @@
"username": "使用者名稱",
"validate_license_now": "與證書伺服器驗證 GUID",
"verify": "驗證",
- "yes": "✓"
+ "yes": "✓",
+ "f2b_manage_external_info": "Fail2ban仍會維護禁令列表,但不會主動設定規則來阻止流量。 使用下面產生的禁止清單從外部阻止流量。",
+ "allowed_origins": "存取控制允許來源",
+ "logo_dark_label": "深色模式",
+ "logo_normal_label": "標準",
+ "f2b_ban_time_increment": "禁令時間會隨著每次禁令增加",
+ "copy_to_clipboard": "文字已複製到剪貼簿!",
+ "cors_settings": "CORS 設定",
+ "f2b_manage_external": "外部管理 Fail2Ban",
+ "f2b_max_ban_time": "最大限度。 禁止時間(s)",
+ "allowed_methods": "存取控制允許方法",
+ "ip_check": "IP檢查",
+ "ip_check_opt_in": "選擇使用第三方服務 ipv4.mailcow.email 和 ipv6.mailcow.email 來解析外部 IP 位址。",
+ "ip_check_disabled": "IP 檢查已停用。 您可以在
系統 > 配置 > 選項 > 自訂下啟用它",
+ "options": "選項",
+ "queue_unban": "解除禁令"
},
"danger": {
"access_denied": "存取拒絕或表單資料有誤",
@@ -454,7 +470,17 @@
"username_invalid": "使用者名稱 %s 無法使用",
"validity_missing": "請設定有效期",
"value_missing": "請填入所有欄位",
- "yotp_verification_failed": "Yubico OTP 認證失敗: %s"
+ "yotp_verification_failed": "Yubico OTP 認證失敗: %s",
+ "webauthn_authenticator_failed": "找不到所選的驗證器",
+ "webauthn_publickey_failed": "沒有為選定的身份驗證器儲存公鑰",
+ "webauthn_username_failed": "所選驗證器屬於另一個帳戶",
+ "cors_invalid_method": "指定的允許方法無效",
+ "cors_invalid_origin": "指定的允許來源無效",
+ "demo_mode_enabled": "演示模式已啟用",
+ "extended_sender_acl_denied": "缺少設定外部寄件者地址的 ACL",
+ "template_exists": "模板 %s 已存在",
+ "template_id_invalid": "範本 ID %s 無效",
+ "template_name_invalid": "模板名稱無效"
},
"debug": {
"chart_this_server": "圖表 (此伺服器)",
@@ -473,7 +499,7 @@
"restart_container": "重新啟動",
"service": "服務",
"size": "大小",
- "solr_dead": "Solr 正在啟動、停用或已停止運行",
+ "solr_dead": "Solr 正在啟動,停用或已停止運行.",
"solr_status": "Solr 狀態",
"started_at": "啟動於",
"started_on": "啟動於",
@@ -481,7 +507,19 @@
"success": "成功",
"system_containers": "系統和容器",
"uptime": "運行時間",
- "username": "使用者名稱"
+ "username": "使用者名稱",
+ "architecture": "結構",
+ "current_time": "系統時間",
+ "container_running": "正在執行",
+ "memory": "記憶",
+ "container_disabled": "容器停止或停用",
+ "container_stopped": "已停止",
+ "cores": "核心",
+ "error_show_ip": "無法解析公用IP位址",
+ "show_ip": "顯示公網IP",
+ "update_available": "有可用更新",
+ "no_update_available": "系統已經是最新版本",
+ "update_failed": "無法檢查更新"
},
"diagnostics": {
"cname_from_a": "由 A/AAAA 紀錄獲取。只要紀錄指向正確的資源,此功能就會持續運作。",
@@ -607,7 +645,11 @@
"title": "編輯物件",
"unchanged_if_empty": "如果不更改則留空",
"username": "使用者名稱",
- "validate_save": "驗證並儲存"
+ "validate_save": "驗證並儲存",
+ "domain_footer_info": "網域範圍的頁尾將會新增至與該網域內的位址關聯的所有外發電子郵件。
以下變數可用於頁尾:",
+ "custom_attributes": "自訂屬性",
+ "mbox_exclude": "排除信箱",
+ "pushover_sound": "聲音"
},
"fido2": {
"confirm": "確認",
@@ -646,7 +688,10 @@
"quarantine": "隔離",
"restart_netfilter": "重新啟動 netfilter",
"restart_sogo": "重新啟動 SOGo",
- "user_settings": "使用者設定"
+ "user_settings": "使用者設定",
+ "email": "電子郵件",
+ "mailcow_system": "系統",
+ "mailcow_config": "配置"
},
"info": {
"awaiting_tfa_confirmation": "等待 TFA 確認",
@@ -829,7 +874,13 @@
"username": "使用者名稱",
"waiting": "等待中",
"weekly": "每週",
- "yes": "✓"
+ "yes": "✓",
+ "templates": "範本",
+ "domain_templates": "域模板",
+ "add_template": "新增模板",
+ "mailbox_templates": "信箱模板",
+ "relay_unknown": "轉發未知信箱",
+ "template": "範本"
},
"oauth2": {
"access_denied": "請使用信箱使用者登入來進行 OAuth2 授權",
@@ -929,7 +980,7 @@
"delete_filters": "過濾器 %s 已刪除",
"deleted_syncjob": "同步任務 ID %s 已刪除",
"deleted_syncjobs": "同步任務 %s 已刪除",
- "dkim_added": " DKIM 金鑰 %s 已儲存",
+ "dkim_added": "DKIM 金鑰 %s 已儲存",
"domain_add_dkim_available": "DKIM 金鑰已存在",
"dkim_duplicated": "域名的 DKIM 金鑰 %s 已複製到 %s",
"dkim_removed": " DKIM 金鑰 %s 已刪除",
@@ -976,14 +1027,21 @@
"settings_map_added": "設定規則已新增",
"settings_map_removed": "設定規則 ID %s 已刪除",
"sogo_profile_reset": "使用者 %s 的 SOGo 個人頁面已重設",
- "tls_policy_map_entry_deleted": " TLS 規則 ID %s 已刪除",
+ "tls_policy_map_entry_deleted": "TLS 規則 ID %s 已刪除",
"tls_policy_map_entry_saved": "TLS 規則 \"%s\" 已儲存",
"ui_texts": "UI 內文更改已儲存",
"upload_success": "檔案已成功上傳",
"verified_fido2_login": "FIDO2 登入驗證成功",
"verified_totp_login": "TOTP 登入驗證成功",
"verified_webauthn_login": "WebAuthn 登入驗證成功",
- "verified_yotp_login": "Yubico OTP 登入驗證成功"
+ "verified_yotp_login": "Yubico OTP 登入驗證成功",
+ "template_removed": "模板 ID %s 已刪除",
+ "template_added": "新增了模板 %s",
+ "template_modified": "模板 %s 的變更已儲存",
+ "cors_headers_edited": "CORS 設定已儲存",
+ "domain_footer_modified": "網域頁尾 %s 的變更已儲存",
+ "f2b_banlist_refreshed": "禁止清單 ID 已成功刷新。",
+ "ip_check_opt_in_modified": "IP檢查已成功儲存"
},
"tfa": {
"api_register": "%s 使用 Yubico Cloud API,請在這裡為這把金鑰獲取 API 金鑰",
@@ -1171,7 +1229,9 @@
"weeks": "週",
"with_app_password": "使用應用程式密碼",
"year": "年",
- "years": "年"
+ "years": "年",
+ "attribute": "屬性",
+ "pushover_sound": "聲音"
},
"warning": {
"cannot_delete_self": "不能刪除已登入的使用者",
@@ -1185,5 +1245,43 @@
"quota_exceeded_scope": "域名容量配額已滿: 此域名現在只能創建無限容量的信箱。",
"session_token": "表單驗證失敗: 驗證碼錯誤",
"session_ua": "表單驗證失敗: User-Agent 校驗錯誤"
+ },
+ "datatables": {
+ "infoEmpty": "顯示 0 到 0 個條目,共 0 個條目",
+ "infoFiltered": "(從_MAX_個總條目中過濾)",
+ "lengthMenu": "顯示_選單_條目",
+ "loadingRecords": "載入中...",
+ "processing": "請稍等...",
+ "search": "搜尋:",
+ "zeroRecords": "未找到符合的記錄",
+ "paginate": {
+ "first": "第一的",
+ "last": "最後的",
+ "next": "下一個",
+ "previous": "上一個"
+ },
+ "aria": {
+ "sortAscending": ":啟動以升序對列進行排序",
+ "sortDescending": ":啟動以降序對列進行排序"
+ },
+ "expand_all": "展開全部",
+ "info": "顯示 _START_ 到 _END_ 條,共 _TOTAL_ 條",
+ "collapse_all": "全部折疊",
+ "emptyTable": "表中沒有可用數據",
+ "thousands": ",",
+ "decimal": "."
+ },
+ "queue": {
+ "deliver_mail_legend": "嘗試重新投遞選定的郵件。",
+ "show_message": "顯示訊息",
+ "unban": "解除禁令隊列",
+ "legend": "郵件隊列操作功能:",
+ "delete": "刪除所有",
+ "flush": "刷新隊列",
+ "info": "郵件隊列包含所有等待投遞的電子郵件。 如果電子郵件長時間滯留在郵件隊列中,系統會自動將其刪除。
對應郵件的錯誤訊息會提供有關郵件無法送達的原因的資訊。",
+ "ays": "請確認您要刪除目前隊列中的所有項目。",
+ "deliver_mail": "遞送",
+ "queue_manager": "隊列管理器",
+ "unhold_mail_legend": "釋放選定的郵件以供投遞。 (需事先持有)"
}
}
diff --git a/docker-compose.yml b/docker-compose.yml
index 1156854e..2521e816 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -298,7 +298,7 @@ services:
- dovecot
postfix-mailcow:
- image: mailcow/postfix:1.72
+ image: mailcow/postfix:1.73
depends_on:
mysql-mailcow:
condition: service_started
diff --git a/helper-scripts/nextcloud.sh b/helper-scripts/nextcloud.sh
index 7461e787..60d6ed78 100755
--- a/helper-scripts/nextcloud.sh
+++ b/helper-scripts/nextcloud.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
# renovate: datasource=github-releases depName=nextcloud/server versioning=semver extractVersion=^v(?.*)$
-NEXTCLOUD_VERSION=28.0.0
+NEXTCLOUD_VERSION=28.0.1
echo -ne "Checking prerequisites..."
sleep 1