Comment utiliser les scripts Sieve

Découvrez notre offre de Cloud Public

L'hébergement mutualisé pour tou·te·s, imaginé par des développeur·euse·s, pour des développeur·euse·s.

Découvrir le Cloud Public

Sieve est un langage permettant de filtrer les emails. Il sert à ajouter des règles complexes, qu’on ne pourrait ajouter via les règles de filtrage.

Interface d'administration : Emails - Script Sieve
Interface d'administration : Emails - Script Sieve

Le script final est stocké dans le fichier $HOME/admin/mail/[domaine]/[boite]/filter_user.sieve de votre compte. Vous pouvez le lire pour aider à déboguer votre script, mais pas l’éditer.

Extensions supportées

ExtensionDescription
bodyVérifie la présence d’une ou de plusieurs chaînes de caractères dans le corps d’un email
comparator-i;ascii-numericExtrait des nombres du texte et les compare pour voir si cela correspond
copySpécifie qu’une copie doit être utilisée pour effectuer l’action
dateEffectue des actions en fonction de la date/l’heure de l’envoi/la réception d’un email
duplicateDétecte si c’est un duplicata
editheaderAjoute ou supprime du texte aux en-têtes
encoded-characterPermet l’encodage numérique de caractères spéciaux
enotifyEnvoie des notifications
envelopeÉvalue l’enveloppe (“from”, “to”…)
environmentTeste différentes valeurs étiquetées de l’environnement d’exécution
fileintoDélivre l’email dans le dossier spécifié
foreverypartPermet aux commandes d’être exécutées dans toutes les parties MIME de l’email
ihaveTeste si une extension Sieve est disponible et, si c’est le cas, exécute son action
imap4flagsAjoute des indicateurs IMAP et mots clés aux messages
includePermet d’inclure un script Sieve dans un autre
indexPermet de faire correspondre des champs d’en-tête spécifiques par index
mailboxVérifie si un répertoire spécifique existe
mimeTeste des parties MIME spécifiques du message
extracttextExtrait du texte depuis des parties MIME
regexUtilise des expressions régulières
rejectRefuse la délivrance du message
relationalPermet des comparaisons relationnelles
subaddressTeste des éléments délimités de la partie locale des adresses
vacationRéponses automatiques
variablesPermet d’ajouter des variables

Exemples

Ajouter un préfixe <SPAM> au sujet d’un mail contenant un mot clé à définir (que ce soit dans son sujet ou son corps de texte)

require ["editheader", "variables", "body"] ;
if allof (
header :contains "subject" "mot",
header :matches "Subject" "*"
)
{
deleteheader "Subject";
addheader "Subject" "<SPAM> ${1}";
}
elsif allof (
body :content "text" :contains "mot",
header :matches "Subject" "*"
)
{
deleteheader "Subject";
addheader "Subject" "<SPAM> ${1}";
}

Extraire des en-têtes de message dans les réponses automatiques

require ["variables", "vacation"];

# Stockage du sujet en variable
if header :matches "Subject" "*" {
        set "subj" "**${1}**";
}

# Répondeur automatique
vacation
  :days 1
  :subject "Absence [Was: ${subj}]"
"Bonjour,
nous avons bien reçu votre message :

${subj}

Nous sommes actuellement absent et y répondrons à notre retour.";

Liens