mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2024-11-30 08:59:40 +02:00
Merge branch 'master' of github.com:mailcow/mailcow-dockerized
This commit is contained in:
commit
386d6109c8
@ -130,6 +130,24 @@ namespace inbox {
|
||||
mailbox "Verwijderde items" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Удаленные" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Удаленные элементы" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Корзина" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Видалені" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Видалені елементи" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "Кошик" {
|
||||
special_use = \Trash
|
||||
}
|
||||
mailbox "废件箱" {
|
||||
special_use = \Trash
|
||||
}
|
||||
@ -167,6 +185,12 @@ namespace inbox {
|
||||
mailbox "归档" {
|
||||
special_use = \Archive
|
||||
}
|
||||
mailbox "Архив" {
|
||||
special_use = \Archive
|
||||
}
|
||||
mailbox "Архів" {
|
||||
special_use = \Archive
|
||||
}
|
||||
mailbox "Sent" {
|
||||
auto = subscribe
|
||||
special_use = \Sent
|
||||
@ -186,6 +210,18 @@ namespace inbox {
|
||||
mailbox "已发送邮件" {
|
||||
special_use = \Sent
|
||||
}
|
||||
mailbox "Отправленные" {
|
||||
special_use = \Sent
|
||||
}
|
||||
mailbox "Отправленные элементы" {
|
||||
special_use = \Sent
|
||||
}
|
||||
mailbox "Надіслані" {
|
||||
special_use = \Sent
|
||||
}
|
||||
mailbox "Надіслані елементи" {
|
||||
special_use = \Sent
|
||||
}
|
||||
mailbox "Gesendet" {
|
||||
special_use = \Sent
|
||||
}
|
||||
@ -235,6 +271,12 @@ namespace inbox {
|
||||
mailbox "草稿箱" {
|
||||
special_use = \Drafts
|
||||
}
|
||||
mailbox "Черновики" {
|
||||
special_use = \Drafts
|
||||
}
|
||||
mailbox "Чернетки" {
|
||||
special_use = \Drafts
|
||||
}
|
||||
mailbox "Junk" {
|
||||
auto = subscribe
|
||||
special_use = \Junk
|
||||
@ -266,6 +308,15 @@ namespace inbox {
|
||||
mailbox "垃圾箱" {
|
||||
special_use = \Junk
|
||||
}
|
||||
mailbox "Нежелательная почта" {
|
||||
special_use = \Junk
|
||||
}
|
||||
mailbox "Спам" {
|
||||
special_use = \Junk
|
||||
}
|
||||
mailbox "Небажана пошта" {
|
||||
special_use = \Junk
|
||||
}
|
||||
mailbox "Koncepty" {
|
||||
special_use = \Drafts
|
||||
}
|
||||
@ -331,6 +382,7 @@ service auth {
|
||||
mode = 0600
|
||||
user = vmail
|
||||
}
|
||||
vsz_limit = 2G
|
||||
}
|
||||
service managesieve-login {
|
||||
inet_listener sieve {
|
||||
|
@ -56,6 +56,9 @@ BOUNCE_FUZZY {
|
||||
}
|
||||
# Remove bayes ham if fuzzy denied
|
||||
FUZZY_HAM_MISMATCH {
|
||||
expression = "(-FUZZY_DENIED | -MAILCOW_FUZZY_DENIED | -LOCAL_FUZZY_DENIED) & (^BAYES_HAM | ^NEURAL_HAM_LONG | ^NEURAL_HAM_SHORT)";
|
||||
score = 1.0;
|
||||
expression = "( -FUZZY_DENIED | -MAILCOW_FUZZY_DENIED | -LOCAL_FUZZY_DENIED ) & ( ^BAYES_HAM | ^NEURAL_HAM_LONG | ^NEURAL_HAM_SHORT )"
|
||||
}
|
||||
# Remove bayes spam if local fuzzy white
|
||||
FUZZY_SPAM_MISMATCH {
|
||||
expression = "( -LOCAL_FUZZY_WHITE ) & ( ^BAYES_SPAM | ^NEURAL_SPAM_LONG | ^NEURAL_SPAM_SHORT )"
|
||||
}
|
||||
|
BIN
data/conf/sogo/custom-favicon.ico
Normal file
BIN
data/conf/sogo/custom-favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
@ -126,6 +126,9 @@ paths:
|
||||
goto_spam:
|
||||
description: learn as spam
|
||||
type: boolean
|
||||
sogo_visible:
|
||||
description: toggle visibility as selectable sender in SOGo
|
||||
type: boolean
|
||||
type: object
|
||||
summary: Create alias
|
||||
/api/v1/add/app-passwd:
|
||||
@ -2752,6 +2755,9 @@ paths:
|
||||
type: string
|
||||
public_comment:
|
||||
type: string
|
||||
sogo_visible:
|
||||
description: toggle visibility as selectable sender in SOGo
|
||||
type: boolean
|
||||
type: object
|
||||
items:
|
||||
description: contains list of aliases you want update
|
||||
@ -3029,7 +3035,8 @@ paths:
|
||||
- domain3.tld
|
||||
- "*"
|
||||
sogo_access: "1"
|
||||
items: info@domain.tld
|
||||
items:
|
||||
- info@domain.tld
|
||||
properties:
|
||||
attr:
|
||||
properties:
|
||||
|
@ -483,75 +483,94 @@ function alertbox_log_parser($_data){
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function verify_hash($hash, $password) {
|
||||
if (preg_match('/^{SSHA256}/i', $hash)) {
|
||||
// Remove tag if any
|
||||
$hash = preg_replace('/^{SSHA256}/i', '', $hash);
|
||||
// Decode hash
|
||||
$dhash = base64_decode($hash);
|
||||
// Get first 32 bytes of binary which equals a SHA256 hash
|
||||
$ohash = substr($dhash, 0, 32);
|
||||
// Remove SHA256 hash from decoded hash to get original salt string
|
||||
$osalt = str_replace($ohash, '', $dhash);
|
||||
// Check single salted SHA256 hash against extracted hash
|
||||
if (hash_equals(hash('sha256', $password . $osalt, true), $ohash)) {
|
||||
return true;
|
||||
}
|
||||
function verify_salted_hash($hash, $password, $algo, $salt_length)
|
||||
{
|
||||
// Decode hash
|
||||
$dhash = base64_decode($hash);
|
||||
// Get first 20 bytes of binary which equals a SSHA hash
|
||||
$ohash = substr($dhash, 0, $salt_length);
|
||||
// Remove SSHA hash from decoded hash to get original salt string
|
||||
$osalt = str_replace($ohash, '', $dhash);
|
||||
// Check single salted SSHA hash against extracted hash
|
||||
if (hash_equals(hash($algo, $password . $osalt, true), $ohash)) {
|
||||
return true;
|
||||
}
|
||||
elseif (preg_match('/^{SSHA}/i', $hash)) {
|
||||
// Remove tag if any
|
||||
$hash = preg_replace('/^{SSHA}/i', '', $hash);
|
||||
// Decode hash
|
||||
$dhash = base64_decode($hash);
|
||||
// Get first 20 bytes of binary which equals a SSHA hash
|
||||
$ohash = substr($dhash, 0, 20);
|
||||
// Remove SSHA hash from decoded hash to get original salt string
|
||||
$osalt = str_replace($ohash, '', $dhash);
|
||||
// Check single salted SSHA hash against extracted hash
|
||||
if (hash_equals(hash('sha1', $password . $osalt, true), $ohash)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
elseif (preg_match('/^{PLAIN-MD5}/i', $hash)) {
|
||||
$hash = preg_replace('/^{PLAIN-MD5}/i', '', $hash);
|
||||
if (md5($password) == $hash) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
elseif (preg_match('/^{SHA512-CRYPT}/i', $hash)) {
|
||||
// Remove tag if any
|
||||
$hash = preg_replace('/^{SHA512-CRYPT}/i', '', $hash);
|
||||
// Decode hash
|
||||
preg_match('/\\$6\\$(.*)\\$(.*)/i', $hash, $hash_array);
|
||||
$osalt = $hash_array[1];
|
||||
$ohash = $hash_array[2];
|
||||
if (hash_equals(crypt($password, '$6$' . $osalt . '$'), $hash)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
elseif (preg_match('/^{SSHA512}/i', $hash)) {
|
||||
$hash = preg_replace('/^{SSHA512}/i', '', $hash);
|
||||
// Decode hash
|
||||
$dhash = base64_decode($hash);
|
||||
// Get first 64 bytes of binary which equals a SHA512 hash
|
||||
$ohash = substr($dhash, 0, 64);
|
||||
// Remove SHA512 hash from decoded hash to get original salt string
|
||||
$osalt = str_replace($ohash, '', $dhash);
|
||||
// Check single salted SHA512 hash against extracted hash
|
||||
if (hash_equals(hash('sha512', $password . $osalt, true), $ohash)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
elseif (preg_match('/^{MD5-CRYPT}/i', $hash)) {
|
||||
$hash = preg_replace('/^{MD5-CRYPT}/i', '', $hash);
|
||||
if (password_verify($password, $hash)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
elseif (preg_match('/^{BLF-CRYPT}/i', $hash)) {
|
||||
$hash = preg_replace('/^{BLF-CRYPT}/i', '', $hash);
|
||||
if (password_verify($password, $hash)) {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
function verify_hash($hash, $password)
|
||||
{
|
||||
if (preg_match('/^{(.+)}(.+)/i', $hash, $hash_array)) {
|
||||
$scheme = strtoupper($hash_array[1]);
|
||||
$hash = $hash_array[2];
|
||||
switch ($scheme) {
|
||||
case "ARGON2I":
|
||||
case "ARGON2ID":
|
||||
case "BLF-CRYPT":
|
||||
case "CRYPT":
|
||||
case "DES-CRYPT":
|
||||
case "MD5-CRYPT":
|
||||
case "MD5":
|
||||
case "SHA256-CRYPT":
|
||||
case "SHA512-CRYPT":
|
||||
return password_verify($password, $hash);
|
||||
|
||||
case "CLEAR":
|
||||
case "CLEARTEXT":
|
||||
case "PLAIN":
|
||||
return $password == $hash;
|
||||
|
||||
case "LDAP-MD5":
|
||||
$hash = base64_decode($hash);
|
||||
return hash_equals(hash('md5', $password, true), $hash);
|
||||
|
||||
case "PBKDF2":
|
||||
$components = explode('$', $hash);
|
||||
$salt = $components[2];
|
||||
$rounds = $components[3];
|
||||
$hash = $components[4];
|
||||
return hash_equals(hash_pbkdf2('sha1', $password, $salt, $rounds), $hash);
|
||||
|
||||
case "PLAIN-MD4":
|
||||
return hash_equals(hash('md4', $password), $hash);
|
||||
|
||||
case "PLAIN-MD5":
|
||||
return md5($password) == $hash;
|
||||
|
||||
case "PLAIN-TRUNC":
|
||||
$components = explode('-', $hash);
|
||||
if (count($components) > 1) {
|
||||
$trunc_len = $components[0];
|
||||
$trunc_password = $components[1];
|
||||
|
||||
return substr($password, 0, $trunc_len) == $trunc_password;
|
||||
} else {
|
||||
return $password == $hash;
|
||||
}
|
||||
|
||||
case "SHA":
|
||||
case "SHA1":
|
||||
case "SHA256":
|
||||
case "SHA512":
|
||||
// SHA is an alias for SHA1
|
||||
$scheme = $scheme == "SHA" ? "sha1" : strtolower($scheme);
|
||||
$hash = base64_decode($hash);
|
||||
return hash_equals(hash($scheme, $password, true), $hash);
|
||||
|
||||
case "SMD5":
|
||||
return verify_salted_hash($hash, $password, 'md5', 16);
|
||||
|
||||
case "SSHA":
|
||||
return verify_salted_hash($hash, $password, 'sha1', 20);
|
||||
|
||||
case "SSHA256":
|
||||
return verify_salted_hash($hash, $password, 'sha256', 32);
|
||||
|
||||
case "SSHA512":
|
||||
return verify_salted_hash($hash, $password, 'sha512', 64);
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1063,7 +1063,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||
return false;
|
||||
}
|
||||
// support pre hashed passwords
|
||||
if (preg_match('/^({SSHA256}|{SSHA}|{SHA512-CRYPT}|{SSHA512}|{MD5-CRYPT}|{PLAIN-MD5})/i', $password)) {
|
||||
if (preg_match('/^{(ARGON2I|ARGON2ID|BLF-CRYPT|CLEAR|CLEARTEXT|CRYPT|DES-CRYPT|LDAP-MD5|MD5|MD5-CRYPT|PBKDF2|PLAIN|PLAIN-MD4|PLAIN-MD5|PLAIN-TRUNC|PLAIN-TRUNC|SHA|SHA1|SHA256|SHA256-CRYPT|SHA512|SHA512-CRYPT|SMD5|SSHA|SSHA256|SSHA512)}/i', $password)) {
|
||||
$password_hashed = $password;
|
||||
}
|
||||
else {
|
||||
@ -2579,7 +2579,7 @@ function mailbox($_action, $_type, $_data = null, $_extra = null) {
|
||||
continue;
|
||||
}
|
||||
// support pre hashed passwords
|
||||
if (preg_match('/^({SSHA256}|{SSHA}|{SHA512-CRYPT}|{SSHA512}|{MD5-CRYPT}|{PLAIN-MD5})/i', $password)) {
|
||||
if (preg_match('/^{(ARGON2I|ARGON2ID|BLF-CRYPT|CLEAR|CLEARTEXT|CRYPT|DES-CRYPT|LDAP-MD5|MD5|MD5-CRYPT|PBKDF2|PLAIN|PLAIN-MD4|PLAIN-MD5|PLAIN-TRUNC|PLAIN-TRUNC|SHA|SHA1|SHA256|SHA256-CRYPT|SHA512|SHA512-CRYPT|SMD5|SSHA|SSHA256|SSHA512)}/i', $password)) {
|
||||
$password_hashed = $password;
|
||||
}
|
||||
else {
|
||||
|
@ -9,10 +9,12 @@
|
||||
"filters": "Filtres",
|
||||
"login_as": "S'identifier en tant qu'utilisateur",
|
||||
"prohibited": "Interdit par les ACL",
|
||||
"protocol_access": "Modifier le protocol d'acces",
|
||||
"pushover": "Pushover",
|
||||
"quarantine": "Actions de quarantaine",
|
||||
"quarantine_attachments": "Pièces jointes en quarantaine",
|
||||
"quarantine_notification": "Modifier la notification de quarantaine",
|
||||
"quarantine_category": "Modifier la catégorie de la notification de quarantaine",
|
||||
"ratelimit": "Limite d'envoi",
|
||||
"recipient_maps": "Cartes destinataire",
|
||||
"smtp_ip_access": "Changer les hôtes autorisés pour SMTP",
|
||||
@ -23,7 +25,8 @@
|
||||
"spam_score": "Score SPAM",
|
||||
"syncjobs": "Tâches de synchronisation",
|
||||
"tls_policy": "Police TLS",
|
||||
"unlimited_quota": "Quota illimité pour les boites de courriel"
|
||||
"unlimited_quota": "Quota illimité pour les boites de courriel",
|
||||
"domain_desc": "Modifier la description du domaine"
|
||||
},
|
||||
"add": {
|
||||
"activate_filter_warn": "Tous les autres filtres seront désactivés, quand activé est coché.",
|
||||
@ -31,7 +34,7 @@
|
||||
"add": "Ajouter",
|
||||
"add_domain_only": "Ajouter uniquement le domaine",
|
||||
"add_domain_restart": "Ajouter le domaine et redémarrer SOGo",
|
||||
"alias_address": "Alias d'adresse/s",
|
||||
"alias_address": "Alias d'adresse(s)",
|
||||
"alias_address_info": "<small>Adresse(s) courriel complète(s) ou @example.com, pour capturer tous les messages d'un domaine (séparées par des virgules). <b>Seulement des domaines Mailcow</b>.</small>",
|
||||
"alias_domain": "Alias de domaine",
|
||||
"alias_domain_info": "<small>Seulement des noms de domaines valides (séparés par des virgules).</small>",
|
||||
@ -136,6 +139,7 @@
|
||||
"ban_list_info": "Consultez la liste des adresses IP interdites ci-dessous: <b>réseau (durée d'interdiction restante) - [actions]</b>.<br />Les adresses IP mises en file d'attente pour être interdites seront supprimées de la liste d'interdiction active dans quelques secondes.<br />Les étiquettes rouges indiquent des interdictions permanentes actives par liste noire.",
|
||||
"change_logo": "Changer de logo",
|
||||
"configuration": "Configuration",
|
||||
"convert_html_to_text": "Convertir le code HTML en texte brut",
|
||||
"credentials_transport_warning": "<b>Attention</b>: L’ajout d’une nouvelle entrée de carte de transport mettra à jour les informations d’identification pour toutes les entrées avec une colonne nexthop correspondante.",
|
||||
"customer_id": "ID client",
|
||||
"customize": "Personnaliser",
|
||||
@ -156,20 +160,23 @@
|
||||
"dkim_to": "Vers",
|
||||
"dkim_to_title": "Les domaines ciblés seront réécrits",
|
||||
"domain": "Domaine",
|
||||
"domain_admin": "Administrateur de domaine",
|
||||
"domain_admins": "Administrateurs de domaine",
|
||||
"domain_s": "Domaine/s",
|
||||
"domain_s": "Domaine(s)",
|
||||
"duplicate": "Dupliquer",
|
||||
"duplicate_dkim": "Dupliquer l'enregistrement DKIM",
|
||||
"edit": "Editer",
|
||||
"empty": "Aucun résultat",
|
||||
"excludes": "Exclure ces destinataires",
|
||||
"f2b_ban_time": "Durée du bannissement (s)",
|
||||
"f2b_ban_time": "Durée du bannissement(s)",
|
||||
"f2b_blacklist": "Réseaux/Domaines sur Liste Noire",
|
||||
"f2b_filter": "Filtre(s) Regex",
|
||||
"f2b_list_info": "Un hôte ou un réseau sur liste noire l'emportera toujours sur une entité de liste blanche. <b>L'application des mises à jour de liste prendra quelques secondes.</b>",
|
||||
"f2b_max_attempts": "Nb max. de tentatives",
|
||||
"f2b_netban_ipv4": "Taille du sous-réseau IPv4 pour l'application du bannissement (8-32)",
|
||||
"f2b_netban_ipv6": "Taille du sous-réseau IPv6 pour l'application du bannissement (8-128)",
|
||||
"f2b_parameters": "Paramètres Fail2ban",
|
||||
"f2b_regex_info": "Logs pris en compte: SOGo, Postfix, Dovecot, PHP-FPM.",
|
||||
"f2b_retry_window": "Fenêtre de nouvel essai pour le nb max. de tentatives",
|
||||
"f2b_whitelist": "Réseaux/hôtes en liste blanche",
|
||||
"filter_table": "Table de filtrage",
|
||||
@ -184,6 +191,7 @@
|
||||
"hash_remove_info": "La suppression d'un hachage ratelimit (s'il existe toujours) réinitialisera complètement son compteur.<br>\r\n Chaque hachage est indiqué par une couleur individuelle.",
|
||||
"help_text": "Remplacer le texte d'aide sous le masque de connexion (HTML autorisé)",
|
||||
"host": "Hôte",
|
||||
"html": "HTML",
|
||||
"import": "Importer",
|
||||
"import_private_key": "Importer la clè privée",
|
||||
"in_use_by": "Utilisé par",
|
||||
@ -212,6 +220,7 @@
|
||||
"oauth2_redirect_uri": "URI de redirection",
|
||||
"oauth2_renew_secret": "Générer un nouveau secret client",
|
||||
"oauth2_revoke_tokens": "Révoquer tous les jetons",
|
||||
"optional": "Optionnel",
|
||||
"password": "Mot de passe",
|
||||
"password_repeat": "Confirmation du mot de passe (répéter)",
|
||||
"priority": "Priorité",
|
||||
@ -221,6 +230,7 @@
|
||||
"quarantine_exclude_domains": "Exclure les domaines et les alias de domaine",
|
||||
"quarantine_max_age": "Âge maximun en jour(s)<br><small>La valeur doit être égale ou supérieure à 1 jour.</small>",
|
||||
"quarantine_max_size": "Taille maximum en Mo (les éléments plus grands sont mis au rebut):<br><small>0 ne signifie <b>pas</b> illimité.</small>",
|
||||
"quarantine_max_score": "Ignorer la notification si le score de spam est au dessus de cette valeur:<br><small>Par défaut: 9999.0</small>",
|
||||
"quarantine_notification_html": "Modèle de courriel de notification:<br><small>Laisser vide pour restaurer le modèle par défaut.</small>",
|
||||
"quarantine_notification_sender": "Notification par e-mail de l’expéditeur",
|
||||
"quarantine_notification_subject": "Objet du courriel de notification",
|
||||
@ -397,6 +407,7 @@
|
||||
"redis_error": "Erreur Redis: %s",
|
||||
"relayhost_invalid": "La saisie de la carte %s est invalide",
|
||||
"release_send_failed": "Le message n’a pas pu être diffusé: %s",
|
||||
"reset_f2b_regex": "Le filtre regex n'a pas pu être réinitialisé à temps, veuillez réessayer ou attendre quelques secondes de plus et recharger le site web.",
|
||||
"resource_invalid": "Le nom de la resource %s n'est pas valide",
|
||||
"rl_timeframe": "Le délai limite du taux est incorrect",
|
||||
"rspamd_ui_pw_length": "Le mot de passe de l'interface Rspamd doit être de 6 caratères au minimum",
|
||||
@ -412,19 +423,21 @@
|
||||
"targetd_relay_domain": "Le domaine cible %s est un domaine de relais",
|
||||
"temp_error": "Erreur temporaire",
|
||||
"text_empty": "La zone texte ne peut pas être vide",
|
||||
"tfa_token_invalid": "Le token TFA est invalide",
|
||||
"tls_policy_map_dest_invalid": "La politique de destination n'est pas valide",
|
||||
"tls_policy_map_entry_exists": "Une entrée de carte de politique \"%s\" existe",
|
||||
"tls_policy_map_parameter_invalid": "Le paramètre Policy est invalide",
|
||||
"totp_verification_failed": "Echec de la vérification TOTP",
|
||||
"transport_dest_exists": "La destination de transport \"%s\" existe",
|
||||
"u2f_verification_failed": "Echec de la vérification U2F: %s",
|
||||
"fido2_verification_failed": "La vérification FIDO2 a échoué: %s",
|
||||
"unknown": "Une erreur inconnue est survenue",
|
||||
"unknown_tfa_method": "Methode TFA inconnue",
|
||||
"unlimited_quota_acl": "Quota illimité interdit par les ACL",
|
||||
"username_invalid": "Le nom d'utilisateur %s ne peut pas être utilisé",
|
||||
"validity_missing": "Veuillez attribuer une période de validité",
|
||||
"value_missing": "Veuillez fournir toutes les valeurs",
|
||||
"yotp_verification_failed": "La vérification Yubico OTP en échec: %s"
|
||||
"yotp_verification_failed": "La vérification Yubico OTP a échoué: %s"
|
||||
},
|
||||
"debug": {
|
||||
"chart_this_server": "Graphique (ce serveur)",
|
||||
@ -452,6 +465,7 @@
|
||||
"cname_from_a": "Valeur dérivée de l’enregistrement A/AAAA. Ceci est supporté tant que l’enregistrement indique la bonne ressource.",
|
||||
"dns_records": "Enregistrements DNS",
|
||||
"dns_records_24hours": "Veuillez noter que les modifications apportées au DNS peuvent prendre jusqu’à 24 heures pour que leurs états actuels soient correctement reflétés sur cette page. Il est conçu comme un moyen pour vous de voir facilement comment configurer vos enregistrements DNS et de vérifier si tous vos enregistrements sont correctement stockés dans les DNS.",
|
||||
"dns_records_docs": "Veuillez également consulter <a target=\"_blank\" href=\"https://mailcow.github.io/mailcow-dockerized-docs/prerequisite-dns/\">la documentation</a>.",
|
||||
"dns_records_data": "Données correcte",
|
||||
"dns_records_name": "Nom",
|
||||
"dns_records_status": "Etat courant",
|
||||
@ -464,6 +478,7 @@
|
||||
"alias": "Editer les alias",
|
||||
"allow_from_smtp": "Restreindre l'utilisation de <b>SMTP</b> à ces adresses IP",
|
||||
"allow_from_smtp_info": "Laissez vide pour autoriser tous les expéditeurs.<br>Adresses IPv4/IPv6 et réseaux.",
|
||||
"allowed_protocols": "Protocoles autorisés",
|
||||
"app_name": "Nom de l'application",
|
||||
"app_passwd": "Mot de passe de l'application",
|
||||
"automap": "Essayer d’automatiser les dossiers (\"Sent items\", \"Sent\" => \"Sent\" etc.)",
|
||||
@ -550,7 +565,7 @@
|
||||
"spam_score": "Définir un score spam personnalisé",
|
||||
"subfolder2": "Synchronisation dans le sous-dossier sur la destination<br><small>(vide = ne pas utiliser de sous-dossier)</small>",
|
||||
"syncjob": "Modifier la tâche de synchronisation",
|
||||
"target_address": "Adresse/s Goto<small>(séparé/s par des virgules)</small>",
|
||||
"target_address": "Adresse(s) Goto<small>(séparé(s) par des virgules)</small>",
|
||||
"target_domain": "Domaine cible",
|
||||
"timeout1": "Délai de connexion à l’hôte distant",
|
||||
"timeout2": "Délai de connexion à l’hôte local",
|
||||
@ -590,8 +605,10 @@
|
||||
},
|
||||
"login": {
|
||||
"delayed": "La connexion a été retardée de %s secondes.",
|
||||
"fido2_webauthn": "FIDO2/WebAuthn",
|
||||
"login": "Connexion",
|
||||
"mobileconfig_info": "Veuillez vous connecter en tant qu’utilisateur de la boîte pour télécharger le profil de connexion Apple demandé.",
|
||||
"other_logins": "Clé d'authentification",
|
||||
"password": "Mot de passe",
|
||||
"username": "Nom d'utilisateur"
|
||||
},
|
||||
@ -617,6 +634,7 @@
|
||||
"aliases": "Aliases",
|
||||
"allow_from_smtp": "Restreindre l'utilisation de <b>SMTP</b> à ces adresses IP",
|
||||
"allow_from_smtp_info": "Laissez vide pour autoriser tous les expéditeurs.<br>Adresses IPv4/IPv6 et réseaux.",
|
||||
"allowed_protocols": "Protocoles autorisés",
|
||||
"backup_mx": "Sauvegarde MX",
|
||||
"bcc": "BCC",
|
||||
"bcc_destination": "Destination BCC",
|
||||
@ -666,6 +684,8 @@
|
||||
"mailbox_defquota": "Taille de boîte par défaut",
|
||||
"mailbox_quota": "Taille max. d’une boîte",
|
||||
"mailboxes": "Boîtes mail",
|
||||
"mailbox_defaults": "Paramètres par défaut",
|
||||
"mailbox_defaults_info": "Définir les paramètres par défaut pour les nouvelles boîtes aux lettres.",
|
||||
"mins_interval": "Intervalle (min)",
|
||||
"msg_num": "Message #",
|
||||
"multiple_bookings": "Réservations multiples",
|
||||
@ -676,7 +696,11 @@
|
||||
"owner": "Propriétaire",
|
||||
"private_comment": "Commentaire privé",
|
||||
"public_comment": "Commentaire public",
|
||||
"q_add_header": "Courriers indésirables",
|
||||
"q_all": "Toutes les catégories",
|
||||
"q_reject": "Rejecté",
|
||||
"quarantine_notification": "Avis de quarantaine",
|
||||
"quarantine_category": "Catégorie de la notification de quarantaine",
|
||||
"quick_actions": "Actions",
|
||||
"recipient_map": "Carte du destinataire",
|
||||
"recipient_map_info": "Les cartes des destinataires sont utilisées pour remplacer l’adresse de destination d’un message avant sa livraison.",
|
||||
@ -711,7 +735,7 @@
|
||||
"table_size": "Taille de la table",
|
||||
"table_size_show_n": "Montrer %s articles",
|
||||
"target_address": "Goto adresse",
|
||||
"target_domain": "Domain cible",
|
||||
"target_domain": "Domaine cible",
|
||||
"tls_enforce_in": "Appliquer le TLS entrant",
|
||||
"tls_enforce_out": "Appliquer le TLS sortant",
|
||||
"tls_map_dest": "Destination",
|
||||
@ -742,12 +766,16 @@
|
||||
"action": "Action",
|
||||
"atts": "Pièces jointes",
|
||||
"check_hash": "Hachage du fichier de recherche @ VT",
|
||||
"confirm": "Confirmer",
|
||||
"confirm_delete": "Confirmer la suppression de cet élément.",
|
||||
"danger": "Danger",
|
||||
"deliver_inbox": "Envoyer dans la boîte de reception",
|
||||
"disabled_by_config": "La configuration actuelle du système désactive la fonctionnalité de quarantaine. Veuillez définir \"retentions par boîte\" et une \"taille maximum\" pour les éléments en quarantaine.",
|
||||
"download_eml": "Télécharger (.eml)",
|
||||
"empty": "Pas de résultat",
|
||||
"high_danger": "Haut",
|
||||
"info": "Information",
|
||||
"junk_folder": "Courriers indésirables",
|
||||
"learn_spam_delete": "Apprendre comme spam et supprimer",
|
||||
"low_danger": "Danger faible",
|
||||
"medium_danger": "Danger moyen",
|
||||
@ -755,6 +783,7 @@
|
||||
"notified": "Notifié",
|
||||
"qhandler_success": "Demande envoyée avec succès au système. Vous pouvez maintenant fermer la fenêtre.",
|
||||
"qid": "Rspamd QID",
|
||||
"qinfo": "Le système de quarantaine enregistrera le courrier rejeté dans la base de données (l'expéditeur n'aura <em> pas </em> l'impression d'un courrier remis) ainsi que le courrier, qui est remis sous forme de copie dans le dossier indésirable d'une boîte aux lettres.\r\n <br>\"Apprendre comme spam et supprimer\" apprendra un message comme spam via le théorème Bayesianet calculera également des hachages flous pour refuser des messages similaires à l'avenir.\r\n <br>Veuillez noter que l'apprentissage de plusieurs messages peut prendre du temps, selon votre système. <br> Les éléments figurant sur la liste noire sont exclus de la quarantaine.",
|
||||
"qitem": "Élément de quarantaine",
|
||||
"quarantine": "Quarantaine",
|
||||
"quick_actions": "Actions",
|
||||
@ -762,16 +791,21 @@
|
||||
"received": "Reçu",
|
||||
"recipients": "Destinataires",
|
||||
"refresh": "Rafraîchir",
|
||||
"rejected": "Rejeté",
|
||||
"release": "Libérer",
|
||||
"release_body": "Nous avons joint votre message comme fichier eml à ce message.",
|
||||
"release_subject": "Article de quarantaine potentiellement dommageable %s",
|
||||
"remove": "Enlever",
|
||||
"rewrite_subject": "Réécrire le sujet",
|
||||
"rspamd_result": "Résultat Rspamd",
|
||||
"sender": "Expéditeur (SMTP)",
|
||||
"sender_header": "Expéditeur (\"From\" header)",
|
||||
"type": "Type",
|
||||
"quick_release_link": "Ouvrir le lien de dégagement rapide",
|
||||
"quick_delete_link": "Ouvrir le lien de suppression rapide",
|
||||
"quick_info_link": "Ouvrir le lien d'informations",
|
||||
"show_item": "Montrer l'article",
|
||||
"spam": "Spam",
|
||||
"spam_score": "Score",
|
||||
"subj": "Sujet",
|
||||
"table_size": "Dimension de la table",
|
||||
@ -859,6 +893,7 @@
|
||||
"upload_success": "Fichier téléchargé avec succès",
|
||||
"verified_totp_login": "Authentification TOTP vérifiée",
|
||||
"verified_u2f_login": "Authentification U2F vérifiée",
|
||||
"verified_fido2_login": "Authentification FIDO2 vérifiée",
|
||||
"verified_yotp_login": "Authentification Yubico OTP vérifiée"
|
||||
},
|
||||
"tfa": {
|
||||
@ -879,15 +914,30 @@
|
||||
"set_tfa": "Définir une méthode d’authentification à deux facteurs",
|
||||
"start_u2f_validation": "Début de la validation",
|
||||
"tfa": "Authentification à deux facteurs",
|
||||
"tfa_token_invalid": "Token TFA invalide",
|
||||
"totp": "OTP (One Time Password = Mot de passe à usage unique : Google Authenticator, Authy, etc.)",
|
||||
"u2f": "Authentification U2F",
|
||||
"waiting_usb_auth": "<i>En attente d’un périphérique USB...</i><br><br>S’il vous plaît appuyez maintenant sur le bouton de votre périphérique USB U2F.",
|
||||
"waiting_usb_register": "<i>En attente d’un périphérique USB...</i><br><br>Veuillez entrer votre mot de passe ci-dessus et confirmer votre inscription U2F en appuyant sur le bouton de votre périphérique USB U2F.",
|
||||
"yubi_otp": "Authentification OTP Yubico"
|
||||
},
|
||||
"fido2": {
|
||||
"set_fn": "Définir un nom",
|
||||
"fn": "Nom",
|
||||
"rename": "renommer",
|
||||
"confirm": "Confirmer",
|
||||
"register_status": "Etat de l'enregistrement",
|
||||
"known_ids": "Identifiant(s) connu(s)",
|
||||
"none": "Désactivé",
|
||||
"set_fido2": "Enregistrer un nouvel appareil FIDO2",
|
||||
"start_fido2_validation": "Tester la validation FIDO2",
|
||||
"fido2_auth": "Se connecter avec FIDO2",
|
||||
"fido2_success": "L'appareil est enregistré avec succès",
|
||||
"fido2_validation_failed": "La validation a échoué"
|
||||
},
|
||||
"user": {
|
||||
"action": "Action",
|
||||
"active": "Active",
|
||||
"active": "Actif",
|
||||
"active_sieve": "Filtre actif",
|
||||
"advanced_settings": "Paramètres avancés",
|
||||
"alias": "Alias",
|
||||
@ -904,8 +954,8 @@
|
||||
"app_name": "Nom d'application",
|
||||
"app_passwds": "Mots de passe de l'application",
|
||||
"apple_connection_profile": "Profil de connexion Apple",
|
||||
"apple_connection_profile_complete": "Ce profil de connexion inclut les paramètres IMAP et SMTP ainsi que les chemins Caldav (calendriers) et Carddav (contacts) pour un appareil Apple." ,
|
||||
"apple_connection_profile_mailonly" : "Ce profil de connexion inclut les paramètres de configuration IMAP et SMTP pour un périphérique Apple.",
|
||||
"apple_connection_profile_complete": "Ce profil de connexion inclut les paramètres IMAP et SMTP ainsi que les chemins Caldav (calendriers) et Carddav (contacts) pour un appareil Apple.",
|
||||
"apple_connection_profile_mailonly": "Ce profil de connexion inclut les paramètres de configuration IMAP et SMTP pour un périphérique Apple.",
|
||||
"change_password": "Changer le mot de passe",
|
||||
"client_configuration": "Afficher les guides de configuration pour les clients de messagerie et les smartphones",
|
||||
"create_app_passwd": "Créer un mot de passe application",
|
||||
@ -931,7 +981,7 @@
|
||||
"hours": "heures",
|
||||
"in_use": "Utilisé",
|
||||
"interval": "Intervalle",
|
||||
"is_catch_all": "Attrape-tout pour le domaine/s",
|
||||
"is_catch_all": "Attrape-tout pour le domaine(s)",
|
||||
"last_mail_login": "Dernière connexion mail",
|
||||
"last_run": "Dernière exécution",
|
||||
"loading": "Chargement...",
|
||||
@ -956,8 +1006,13 @@
|
||||
"pushover_title": "Titre de la notification",
|
||||
"pushover_vars": "Lorsqu’aucun filtre d’expéditeur n’est défini, tous les messages seront considérés.<br>Les filtres Regex ainsi que les vérifications exactes de l’expéditeur peuvent être définis individuellement et seront considérés de façon séquentielle. Ils ne dépendent pas les uns des autres.<br>Variables utilisables pour le texte et le titre (veuillez prendre note des politiques de protection des données)",
|
||||
"pushover_verify": "Vérifier les justificatifs",
|
||||
"q_add_header": "Courrier indésirable",
|
||||
"q_all": "Toutes les catégories",
|
||||
"q_reject": "Rejeté",
|
||||
"quarantine_notification": "Avis de quarantaine",
|
||||
"quarantine_category": "Catégorie de la notification de quarantaine",
|
||||
"quarantine_notification_info": "Une fois qu’un avis a été envoyé, les articles seront marqués comme \"notified\" et aucune autre notification ne sera envoyée pour ce point particulier.",
|
||||
"quarantine_category_info": "La catégorie de notification \"Rejeté\" inclut le courrier qui a été rejeté, tandis que \"Dossier indésirable\" informera un utilisateur des e-mails qui ont été placés dans le dossier indésirable.",
|
||||
"remove": "Enlever",
|
||||
"running": "En fonction",
|
||||
"save": "Sauvegarder les changements",
|
||||
|
@ -185,8 +185,9 @@ services:
|
||||
volumes:
|
||||
- ./data/conf/sogo/:/etc/sogo/:z
|
||||
- ./data/web/inc/init_db.inc.php:/init_db.inc.php:Z
|
||||
- ./data/conf/sogo/custom-sogo.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/custom-sogo.js:z
|
||||
- ./data/conf/sogo/custom-favicon.ico:/usr/lib/GNUstep/SOGo/WebServerResources/img/sogo.ico:z
|
||||
- ./data/conf/sogo/custom-theme.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/theme.js:z
|
||||
- ./data/conf/sogo/custom-sogo.js:/usr/lib/GNUstep/SOGo/WebServerResources/js/custom-sogo.js:z
|
||||
- mysql-socket-vol-1:/var/run/mysqld/:z
|
||||
- sogo-web-vol-1:/sogo_web:z
|
||||
- sogo-userdata-backup-vol-1:/sogo_backup:Z
|
||||
@ -414,6 +415,8 @@ services:
|
||||
#command: /watchdog.sh
|
||||
dns:
|
||||
- ${IPV4_NETWORK:-172.22.1}.254
|
||||
tmpfs:
|
||||
- /tmp
|
||||
volumes:
|
||||
- rspamd-vol-1:/var/lib/rspamd:z
|
||||
- mysql-socket-vol-1:/var/run/mysqld/:z
|
||||
|
Loading…
Reference in New Issue
Block a user