Aller au contenu

Paramètres des cookies

Choisissez, par catégorie, les cookies que vous autorisez. Vous pouvez modifier votre choix à tout moment via Paramètres des cookies, en bas de chaque page. Politique de confidentialité

Nécessaires

Toujours activés

Indispensables pour vous connecter, conserver votre panier et mémoriser vos choix. Ils sont toujours activés.

Quels cookies ?
  • weboke_sessie, weboke_klant, weboke_remember: votre session et le maintien de la connexion
  • weboke_basket: votre panier
  • wkBtwIncl: l'affichage des prix TTC ou HT
  • wok_cookies: votre choix concernant les cookies, 12 mois

Mesure quelle publicité mène à une visite ou à une commande, pour que nous ne payions pas des publicités inefficaces.

Quels cookies ?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), jusqu'à 90 jours
  • OpenAI Ads, publicités dans ChatGPT
  • wok_aff: le partenaire qui vous a orienté vers nous (programme d'affiliation), 60 jours

4,6

Pays et langue

Chaque pays a son propre site, avec les prix et la TVA de ce pays.

Afficher

Module 6 · 6.1

Le fonctionnement des filtres

Module 6: Automatiser : filtres et absence · Temps de lecture : 10 minutes

Objectif pédagogique : À l’issue de cette leçon, vous saurez expliquer où et quand les filtres s’exécutent, lire un script de filtrage en Sieve et prédire dans quel dossier un courriel entrant va arriver.

Notions clés : filtre, Sieve, ManageSieve, jeu de filtres, règle, condition, action, conservation implicite, stop, contient, est égal à, correspond à l’expression

Les filtres s’exécutent sur le serveur

Un filtre trie votre courrier automatiquement : les e-mails contenant « factuur » (facture) dans l’objet vont dans le dossier Facturen (Factures), les newsletters dans un dossier à part. L’essentiel à retenir : ce tri ne se fait pas dans le webmail, mais sur le serveur de messagerie, au moment où un courriel est remis dans votre boîte mail.

Il en découle trois choses :

  • Les filtres fonctionnent même lorsque le webmail est fermé. Votre ordinateur portable peut être éteint. Votre téléphone voit immédiatement le courriel dans le bon dossier.
  • Les filtres ne s’appliquent qu’au nouveau courrier. Les e-mails déjà présents dans votre boîte mail restent où ils sont. Si vous créez un filtre aujourd’hui, vous déplacez vous-même les anciens courriels.
  • Les filtres valent pour une seule boîte mail. Chaque boîte mail a ses propres filtres. Si vous souhaitez régler quelque chose pour toutes les boîtes mail de votre domaine, par exemple bloquer un expéditeur, faites-le dans le panneau de gestion de votre hébergement.

Les filtres sont écrits en Sieve, un langage simple conçu spécialement pour filtrer le courrier (RFC 5228). Le serveur de messagerie de WebOké utilise Dovecot avec Pigeonhole, l’implémentation Sieve de Dovecot. Le webmail convertit vos choix dans le formulaire en un script Sieve et l’envoie au serveur via le protocole ManageSieve (RFC 5804). Vous n’avez pas besoin d’écrire du Sieve, mais si vous savez le lire, vous comprenez exactement ce que font vos filtres.

Jeu de filtres, règles, conditions et actions

Un jeu de filtres est le script complet : tous les filtres de votre boîte mail dans un seul fichier. Vous pouvez avoir plusieurs jeux de filtres, mais un seul est actif à la fois.

Le jeu de filtres contient les filtres, également appelés règles dans le webmail. Chaque filtre comporte :

  • un nom, uniquement pour vous ;
  • une portée : le courriel doit remplir toutes les règles, l’une des règles, ou bien le filtre s’applique à tous les courriels ;
  • une ou plusieurs conditions : où le filtre regarde (objet, expéditeur, un autre en-tête), comment il compare, et avec quel texte ;
  • une ou plusieurs actions : ce qui se passe lorsque les conditions sont remplies.

Il existe trois façons de comparer :

Dans le webmailEn SieveSignification
contient:containsle texte figure quelque part dans l’en-tête
est égal à:isl’en-tête correspond exactement à ce texte
correspond à l’expression:matchesmotif avec * (zéro caractère ou plus) et ? (exactement un caractère)

Dans les trois cas, les majuscules n’ont pas d’importance. Par défaut, Sieve compare avec la règle i;ascii-casemap, qui traite majuscules et minuscules de la même façon. « factuur » trouve donc aussi « FACTUUR » et « Factuur ».

À quoi ressemble un jeu de filtres

Dans le webmail, vous pouvez afficher le jeu de filtres sous forme de texte via Filtres > Actions > Modifier le jeu de filtres. Voici un exemple tel que le webmail l’écrit :

require ["fileinto"];
# rule:[Nieuwsbrieven]
if exists "List-Id"
{
	fileinto "Nieuwsbrieven";
	stop;
}
# rule:[Facturen]
if allof (header :contains "subject" "factuur")
{
	fileinto "Facturen";
}
# rule:[Collega Daan]
if false # header :contains "from" "daan@example.com"
{
	fileinto "INBOX.Team";
}

Ligne par ligne :

  • require ["fileinto"]; demande au serveur l’extension nécessaire pour déplacer vers un dossier. Le webmail l’ajoute lui-même en haut, avec toutes les extensions utilisées par le script.
  • # rule:[Nieuwsbrieven] est un commentaire. C’est grâce à lui que le webmail reconnaît le nom de votre filtre. Le serveur ignore cette ligne.
  • if exists "List-Id" est la condition : le courriel possède un en-tête List-Id. Les newsletters et les listes de diffusion en ont un (RFC 2919).
  • fileinto "Nieuwsbrieven"; déplace le courriel vers le dossier Nieuwsbrieven (Newsletters). Le nom du dossier est le nom complet sur le serveur, avec le point comme séparateur (leçon 5.1). Un dossier situé sous Boîte de réception s’appelle donc INBOX.Team.
  • stop; arrête tout le script. Les filtres suivants n’examinent plus ce courriel. Dans le webmail, cette action s’appelle Arrêter l’évaluation des règles.
  • if false # ... est un filtre désactivé. Si vous désactivez Le filtre est activé, le webmail transforme la condition en false : jamais vraie. L’ancienne condition reste en commentaire, pour que vous puissiez la réactiver plus tard.
Le script Sieve du jeu de filtres dans Modifier le jeu de filtres
Vos filtres tels que le serveur les lit : un script Sieve

De haut en bas

Le serveur lit le script de haut en bas et examine chaque filtre. Trois règles s’appliquent.

1. Sans action, le courriel reste dans la Boîte de réception. Sieve connaît la conservation implicite (implicit keep, RFC 5228, section 2.10.2) : si aucun filtre ne fait quoi que ce soit, le courriel arrive simplement dans la Boîte de réception.

2. Après un déplacement, le courriel ne se trouve pas aussi dans la Boîte de réception. Un fileinto désactive cette conservation implicite. Le courriel arrive dans le dossier choisi et pas en plus dans la Boîte de réception. Si vous voulez les deux, utilisez Copier le courriel vers.

3. Sans stop, les filtres suivants examinent aussi le courriel. Si stop est absent, le serveur passe au filtre suivant. Si ce filtre correspond aussi, le serveur exécute également son action. Deux déplacements vers deux dossiers signifient que le courriel arrive dans les deux dossiers. Avec stop, c’est le premier filtre correspondant qui décide.

C’est pourquoi l’ordre compte. Dans l’exemple ci-dessus, Nieuwsbrieven figure au-dessus de Facturen, avec un stop. Une newsletter dont l’objet contient « Je factuur » (Votre facture) va donc dans Nieuwsbrieven, et non dans Facturen. Si vous inversez l’ordre, cette même newsletter atterrit dans Facturen, car ce filtre n’a pas de stop et passe désormais en premier. La newsletter se retrouverait même dans les deux dossiers. Placez donc les filtres les plus spécifiques en haut et ajoutez-leur un stop.

Suivre un courriel pas à pas : voici comment le prédire

Prenez un courriel et parcourez le script comme le fait le serveur :

  1. Commencez par le premier filtre. Est-il désactivé (if false) ? Passez-le.
  2. La condition est-elle remplie ? Regardez précisément l’en-tête : subject est l’objet, from l’expéditeur avec son nom et son adresse, to le destinataire.
  3. Si oui : exécutez les actions. S’il y a stop, vous avez terminé.
  4. Si non, ou en l’absence de stop : passez au filtre suivant.
  5. À la fin : si aucun filtre n’a déplacé ni supprimé le courriel, il se trouve dans la Boîte de réception (INBOX).

Avec ces cinq étapes, vous pouvez lire n’importe quel script, même long.

En pratique : comment cela fonctionne dans le webmail

Vous trouvez les filtres sous Paramètres > Filtres. La liste affiche vos filtres dans l’ordre dans lequel le serveur les exécute ; faites-les glisser pour modifier l’ordre. Sous Actions se trouve Modifier le jeu de filtres : vous y voyez et modifiez le script sous forme de texte. Les étapes pour créer un nouveau filtre figurent dans le manuel Roundcube, à la section Créer un filtre. Dans d’autres webmails, le fonctionnement est comparable : Gmail propose des filtres, Outlook.com des règles. Ils n’utilisent pas Sieve, mais l’ordre et l’arrêt des règles s’y appliquent aussi.

Résumé

  • Les filtres s’exécutent sur le serveur de messagerie lors de la remise, donc même lorsque le webmail est fermé, et uniquement sur le nouveau courrier.
  • Le webmail écrit vos filtres sous forme de script Sieve (RFC 5228) et le dépose sur le serveur via ManageSieve.
  • Contient, est égal à et correspond à l’expression ne tiennent pas compte, par défaut, des majuscules.
  • Si aucun filtre n’agit, le courriel reste dans la Boîte de réception ; après un déplacement, il ne s’y trouve pas en plus.
  • Les filtres s’exécutent de haut en bas ; stop met fin au script, donc l’ordre détermine le résultat.

Quiz

1. Vous créez aujourd’hui un filtre pour le dossier Facturen. Que deviennent les factures qui se trouvent déjà dans la Boîte de réception ?



2. Un filtre « Objet contient factuur » reçoit un courriel dont l’objet est « FACTUUR 118 ». Que se passe-t-il ?



3. Que signifie if false # header :contains "from" "daan@example.com" dans un jeu de filtres ?



4. Un courriel correspond au premier filtre (déplacer vers Facturen, sans stop) et au deuxième (déplacer vers Klanten). Où arrive-t-il ?



5. Quand le serveur conserve-t-il un courriel dans la Boîte de réception ?



Exercice

Exercice A6.1: Où arrive cet e-mail ? Ouvrez le matériel filters-1.txt, un jeu de filtres tel que l’écrit le webmail, et berichten-1.txt, qui contient les en-têtes de quatre courriels entrants, numérotés de 1 à 4. Parcourez chaque courriel en suivant les cinq étapes de cette leçon : de haut en bas, en passant les filtres désactivés et en tenant compte de stop. Pour chaque courriel, indiquez le nom du dossier où il arrive, exactement tel qu’il figure dans le script ; si le courriel arrive dans la Boîte de réception, indiquez INBOX. Le programme compare vos quatre réponses avec le corrigé et indique, pour chaque courriel, quel filtre a été déterminant.

Exercice A6.1: Où arrive cet e-mail ?

Fichier pour cet exercice : filters-1.txt, berichten-1.txt





Nous ne conservons pas ce que vous saisissez ni ce que nous trouvons. Votre navigateur mémorise vos réponses et si l'exercice est réussi. Si vous êtes connecté, nous enregistrons uniquement dans Mes formations que l'exercice était (presque) correct ; vous pouvez aussi le supprimer à cet endroit.

Pour aller plus loin

Les étapes décrites dans le webmail concernent le webmail de WebOké ; dans d’autres webmails, le fonctionnement est comparable.

Un instant…

Configurez vos domaines

Pour chaque domaine, réglez les serveurs de noms, l'association à votre hébergement et le futur titulaire.

Chargement de vos domaines…