Sieve ou comment filtrer son courrier côté serveur

À l'heure où les moyens de consulter sa boîte mail sont plus nombreux que jamais, les utilisateurs de messagerie électronique se retrouvent de plus en plus souvent confrontés au problème suivant : « Comment retrouver sa boîte mail dans le même état quel que soit le client de messagerie utilisé ? »
Nous voulons retrouver d'un client de messagerie à l'autre :
- les dossiers et leur contenu ;
- le statut des messages (lu/non lu) ;
- les règles permettant de trier le courrier entrant.
Les solutions :
IMAP
IMAP est un protocole de messagerie qui opère directement sur le serveur de messagerie à la différence de POP qui, le plus souvent, rapatrie les messages sur votre machine et les traite en local. Lorsque l'on utilise IMAP, toutes les opérations de messagerie comme, la création de dossiers, la lecture et la suppression des messages, etc… ont lieu sur le serveur de messagerie.
Ainsi, nos différents clients de messagerie peuvent rester synchronisés automatiquement si on les paramètre avec IMAP (voir notre tableau récapitulatif des paramètres des serveurs de messagerie ou notre tutoriel sur le paramétrage des comptes de messagerie).
Cependant, IMAP ne permet pas de définir des règles de filtrage pour trier le courrier entrant. Aussi, jusqu'à présent, il incombait au client de messagerie de filtrer les messages. Mais comment utiliser les mêmes filtres à travers les différents clients ? De plus, certains clients de messagerie ne propose pas de règles de filtrage.
Sieve
Sieve est un mécanisme qui va nous permettre de définir des règles auprès de notre serveur de messagerie pour, entres autres, trier les messages entrants. Les messages sont triés sur le serveur avant d'être consultés par IMAP. Il n'est plus nécessaire de trier les messages dans le client de messagerie.
Comment définir des règles Sieve ?
Grâce à l'extension « Sieve » de Thunderbird, il est possible de mettre en place des filtres directement sur le serveur. Par exemple, en filtrant le courrier indésirable depuis le serveur et en le déplaçant de la boite de réception vers un autre dossier, ainsi il n'apparaitra plus dans aucune des boites de réception de l'ensemble de vos périphériques.
Une fois l'extension installée, il vous faut cocher « Oui, gérer les scripts Sieve dans ce compte » dans Outils > Paramètres des comptes... > Paramètres Sieve.
Les paramètres de Sieve sont les suivants :
- Serveur
- Nom du serveur : imap.votredomaine.tld (remplacez par votre nom de domaine)
- Port: 2000
- Sécurité
- TLS, si disponible
- Authentification : Utilisateur et mot de passe du compte IMAP
Vous trouverez la possibilité de créer des filtres dans Outils > Filtres Sieve (seul un filtre peut être actif mais peut contenir autant de règles que vous le souhaitez). Voici ci-dessous un exemple de code permettant de déplacer tous les messages dont le sujet contient « ***SPAM*** » vers le répertoire « Junk » (ou « Indésirables »)
# Appel de l'extension permettant le déplacement des messages dans les dossiers
require "fileinto";
if header :contains "Subject" "***SPAM***" {
fileinto "Junk";
}
A noter : Notre filtre antispam ajoute « ***SPAM*** » au début du sujet des messages qu'il suspecte être indésirables.
Dans l'exemple suivant, les messages sont, en plus, marqués comme lus
# Appel de l'extension permettant le déplacement des messages
# et de l'extension permettant la manipulation des statuts des messages
require ["fileinto", "imap4flags"];
if header :contains "Subject" "***SPAM***" {
setflag "\\Seen";
fileinto "Junk";
}
A noter : La propriété setflag "\\Seen"; doit être placée avant la propriété fileinto "Junk"; .
L'intérêt de pouvoir créer plusieurs filtres réside dans la simplicité qu'il y a basculer d'un filtre ou l'autre suivant le contexte dans lequel on se trouve. Créer un filtre "Congés" tel que celui en exemple ci-dessous, vous permettra de n'avoir qu'à activer ce filtre lorsque vous partez en congés et le désactiver lorsque vous rentrez.
require ["fileinto", "vacation"];
# On filtre les messages afin de ne pas répondre au courrier indésirables
if header :contains ["Subject"] "***SPAM***" {
fileinto "Junk";
stop;
}
vacation
:days 1
:subject "Message d'absence / Out of office reply"
"Je serais absent jusqu'au ...
Veuillez contacter Pierre
Cordialement
--
Paul";
Plus d'informations sur Sieve
- Connectez-vous ou inscrivez-vous pour publier un commentaire
