Exemples de filtres SIEVE pour les E-mails

Les filtres ci-dessous sont écrit en code « SIEVE ». Pour de plus amples informations sur la manière de créer vos propres filtres SIEVE, référez-vous à Commencer à utiliser Sieve. Vous pouvez aussi lire le chapitre Tutoriaux SIEVE pour une explication « pas à pas » sur la manière d’écrire vos propres filtres SIEVE.

Note

Un seul fichier SIEVE peut-être activé à la fois, il est donc important d’inclure tous les filtres que vous voulez utiliser dans le même fichier SIEVE.

Envoyer les E-mails de renouvellement dans un répertoire « Renouvellements »

Ce filtre va rediriger tout E-mail en provenance de « support-renew@gandi.net » vers un sous répertoire de votre boite de réception nommé « Renouvellements ».

# Send E-mails from "support-renew@gandi.net" to my renew folder.
require "fileinto";
if address :is ["from", "sender"] "support-renew@gandi.net" {
  fileinto "INBOX/Renouvellements";
  stop;
}

Le nom du répertoire que vous utilisez est « relatif » par rapport à la localisation racine. »INBOX/Renouvellements » fait donc référence à un sous répertoire « Renouvellements » de la boite de réception (« INBOX »).

La commande stop permet de stopper le filtrage sur le message concerné, ce qui signifie qu’aucun autre filtre ne sera appliqué sur ce type de messages après cette action.

Réponse Automatique d’absence

Ce filtre est un exemple de répondeur que vous pouvez utiliser pendant une absence. Il utilise les dates et les extensions relationnelles pour définir une période d’activation du filtre entre deux dates.

Pour de plus amples informations sur l’extension « absence », vous pouvez regarder les standards proposés : (en anglais).

# Informons les gens que je serais absent la semaine prochaine.
require ["vacation","date","relational"];
# Si la date de réception de l'E-mail reçu est supérieur ou égal au
# 1er Août et inférieur ou égale au 15 Août
if allof (currentdate :value "ge" "date" "2025-08-01", currentdate :value "le" "date" "2025-08-15") {
    vacation :subject "Parti pêcher"
             "Bonjour, je suis parti pêcher et je serais de retour dans 15 jours. - Mr. Smith";
}

Filtrage par sous-adresse

Une « sous-adresse » est une adresse E-mail que vous créez « à la volée » en ajoutant « +tag » à la partie « nom » d’une adresse E-mail. Par exemple si je veux créer un nouveau compte sur Amazon™ sans donner ma « vraie » adresse E-mail, je peux utiliser « monadresse+amazon​@example​​.​com ». Je recevrais toujours les E-mails sur « monadresse​@example​​.​com », mais l’adresse E-mail spécifiée dans le « Pour : » (to:) contiendra le tag, ce qui me permet de savoir qui utilise cette adresse et donc de filtrer et rediriger ces E-mails vers un répertoire spécifique.

# Déplacer les E-mails de mon adresse +amazon vers un répertoire "amazon".
require ["envelope", "subaddress", "fileinto"];
if envelope :detail "to" "amazon" {
        fileinto "INBOX/amazon";
    }

Le comparateur :user vérifie la partie « nom » de l’adresse E-mail. Donc pour mon adresse « monadresse+amazon​@example​​.​com » il va vérifier « monadresse ». Le comparateur :detail lui va vérifier la part supplémentaire de l’adresse, ou « amazon » dans cet exemple. Vous pouvez en apprendre plus sur les sous-adresses et son extension en lisant cette page (en anglais).

Avec le filtre ci-dessous vous pouvez rediriger les E-mails de plusieurs sous-adresses dans des répertoires du même nom (tag).

require ["variables", "envelope", "fileinto", "subaddress"];

if envelope :is :user "to" "utilisateur" {
  if envelope :matches :detail "to" "*" {
    set :lower "name" "${1}";
  }

  if string :is "${name}" "" {
    fileinto "INBOX";
  } else {
    fileinto "INBOX/${name}";
  }
}

Marquer les messages d’une personne en particulier

Le filtre ci-dessous « marque » (étiquette) tous les messages provenant d’une adresse E-mail spécifique.

# marque tous les E-mails reçus de "vip​@example​​.​com"
require ["imap4flags","envelope"];
if envelope "from" "vip​@example​​.​com" {
  setflag "\\Flagged";
  stop;
}

Plus d’information

Les pages suivantes vous fourniront plus d’informations et d’exemples sur l’utilisation des filtres Sieve :