Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Filtrer les e-mails entrants grâce au langage Sieve
Ce guide explique comment créer des règles de tri en mode Avancé, scripts en langage Sieve, pour classer automatiquement vos e-mails entrants sur Infomaniak selon certaines conditions.
âš Disponible avec :
| kSuite | |
| Standard | |
| Business | |
| Enterprise | |
| my kSuite+ | |
| Service Mail | |
| Premium 5 adresses min. |
Préambule
- Si vous ne disposez pas d'une offre compatible ou si vous préférez une configuration simplifiée, prenez connaissance de cet autre guide.
- ⚠️ Aucun support n'est apporté concernant le langage Sieve (prenez connaissance de cette documentation — découvrez aussi le rôle de l'hébergeur).
- Contrairement aux règles de tri proposées au sein de logiciels/clients de messagerie (Microsoft Outlook, Mozilla Thunderbird, Apple Mail...), ces règles agiront directement sur le serveur de vos boîtes mail avant même la connexion IMAP.
- Il est possible d'importer des fichiers Sieve via un bouton.
- En activant ce mode, les règles standard existantes seront conservées mais désactivées.
- La commande
redirect(permettant de renvoyer un e-mail vers une autre adresse) n'est pas autorisée dans les scripts.- Si vous importez un script Sieve provenant d'un autre hébergeur, assurez-vous de retirer cette commande.
- Pour transférer des e-mails, utilisez l'assistant en mode Standard ou la rubrique Redirections de votre Service Mail.
Accéder aux règles depuis l'app Web Mail Infomaniak
Prérequis
- Avoir la permission de gérer les règles: si vous aviez été invité sur l'app Web Mail Infomaniak (service en ligne ksuite.infomaniak.com/mail) afin de gérer votre adresse, il est possible que le gestionnaire du Service Mail vous ait retiré ce droit depuis son compte admin.
Afin d'accéder aux filtres de tri pour votre messagerie Infomaniak :
- Cliquez ici afin d'accéder à l'app Web Mail Infomaniak (service en ligne ksuite.infomaniak.com/mail).
- Cliquez sur l'icône Paramètres ‍ en haut à droite.
- Vérifiez ou sélectionnez l'adresse mail concernée dans le menu déroulant.
- Cliquez sur Filtres et règles:
‍
Accéder aux règles depuis un Service Mail
Afin d'accéder aux filtres de tri pour votre messagerie Infomaniak :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur l'adresse mail concernée dans le tableau qui s'affiche.
- Cliquez sur l'onglet Règles depuis le menu latéral gauche (ou barre supérieure):

Créer une nouvelle règle en mode Avancé (expert)
Assurez-vous de cliquer sur le mode Avancé :

Premier exemple de tri avancé
Voici un exemple simple d'une commande utilisant ce langage :
require ["fileinto"];
if address :contains "from" "facebook.com" {
fileinto "fb";
} elsif header :matches "List-Unsubscribe" "*" {
fileinto "nl";
} else {
keep;
}Explications :
- Chargement des extensions requises : utilisez
require ["fileinto"];pour indiquer que vous allez utiliser la fonctionfileinto. - Filtrage des messages Facebook : utilisez
if address :contains "from" "facebook.com"pour vérifier si l'adresse de l'expéditeur contient "facebook.com" ; si oui, le message est classé dans le dossier "fb" avecfileinto "fb";. - Filtrage des messages avec un lien de désinscription : utilisez
elsif header :matches "List-Unsubscribe" "*"pour vérifier si l'en-tête "List-Unsubscribe" est présent dans le message ; si oui, le message est classé dans le dossier "nl" avecfileinto "nl";. - Conservation des autres messages : utilisez
else { keep; }pour conserver tous les autres messages qui ne correspondent pas aux critères précédents.
Attention :
- Si vous devez mentionner un sous-dossier, utilisez le séparateur
/(comme dans le second exemple), mais il n'est pas nécessaire de spécifierINBOXdans vos codes - Assurez-vous que les dossiers "
fb" et "nl" existent déjà dans votre boîte de réception ; sinon, les messages risquent de ne pas être triés correctement - Le filtre
address :contains "from" "facebook.com"fonctionne correctement pour les adresses qui contiennent "facebook.com" dans le champ "from" - Le filtre
header :matches "List-Unsubscribe" "*"vérifie uniquement la présence de l'en-tête "List-Unsubscribe", pas son contenu
Second exemple de tri avancé
Ce code modifie l'objet en fonction de l'expéditeur (ajoute un préfixe à l'objet lorsqu'un e-mail passe le filtre, par exemple) :
require ["fileinto", "editheader", "variables", "regex"];
if address "sender" "owner-scientific-linux-devel at LISTSERV.FNAL.GOV" {
if header :regex "subject" "((Re|Fwd): *)\\[SCIENTIFIC-LINUX-DEVEL\\] *(.*)" {
deleteheader "Subject";
addheader "Subject" "${1}${3}";
} else {
# Ajouter un préfixe si l'objet ne correspond pas déjà au modèle
deleteheader "Subject";
addheader "Subject" "[SL-Devel] ${1}";
}
fileinto "Mail List/SL-Devel";
}Explications :
- Extensions requises :
fileinto: pour classer les messages dans des dossiers.editheader: pour modifier les en-têtes des e-mails.variables: pour utiliser des variables dans les expressions.regex: pour les expressions régulières.
- Condition sur l'expéditeur :
if address "sender" "owner-scientific-linux-devel at LISTSERV.FNAL.GOV": vérifie si l'expéditeur correspond.
- Condition sur l'objet :
if header :regex "subject" "((Re|Fwd): *)\\[SCIENTIFIC-LINUX-DEVEL\\] *(.*)": vérifie si l'objet correspond au modèle spécifié.deleteheader "Subject";etaddheader "Subject" "${1}${3}";: supprime l'objet existant et ajoute un nouvel objet avec les parties capturées.
- Ajout d'un préfixe si l'objet ne correspond pas déjà au modèle :
addheader "Subject" "[SL-Devel] ${1}";: ajoute un préfixe "[SL-Devel]" à l'objet s'il n'est pas déjà présent.
- Classement du message :
fileinto "Mail List/SL-Devel";: classe les messages dans le dossier "Mail List/SL-Devel".
Attention :
- Assurez-vous que le dossier "
Mail List/SL-Devel" existe déjà dans votre boîte de réception. - Vérifiez que le script modifie correctement l'objet des e-mails pour ajouter ou ajuster le préfixe si nécessaire.
Lien vers cette FAQ: