Messagerie : exemple de filtre sieve
- Dimanche 14 mars 2010
- Par Boris HUISGEN
- Ecrire
Voici un exemple de filtre sieve. Il inclut le filtre global spam.sieve ainsi que le filtre personnel vacation.sieve (dont la ligne sera à décommenter pour être actif). Il y a quelques règles pour flager les mails (TODO, monitoring, etc), les classer (cron, mailings) et les marquer automatiquement comme lus.
require "fileinto";
require "imap4flags";
require "include";
require "regex";
include :global "spam.sieve";
#include :personal "vacation.sieve";
# important
if anyof (
address "from" "alert@hbis.fr",
header :regex ["subject"][".*security alert.*"]) {
addflag "$label1"; # important
}
# todo
if header :regex ["subject"] [".*TODO.*"] {
addflag "$label4"; # todo
}
# mailings
if exists "List-Id" {
fileinto "INBOX.mailings";
}
# backup
if header :regex ["subject"] [
".*backup.*"] {
fileinto "INBOX.admin.backup";
}
# cron
if exists "X-Cron-Env" {
fileinto "INBOX.admin.cron";
}
# periodic
if header :regex ["subject"] [
".* security run output",
".* monthly run output",
".* daily run output",
".* weekly run output"] {
fileinto "INBOX.admin.periodic";
}
# awstats
if header :regex ["subject"] [
"awstats report"] {
fileinto "INBOX.admin.awstats";
setflag "\\seen";
}
Le script ci-dessous est un exemple de répondeur automatique, dont les notifications sont limitées à une seule notification par jour (pour un même expéditeur) :
require "vacation"; vacation :days 1 :subject "Out of office" "I'm currently out of office.";
N’oubliez pas que les options disponibles dépendent de l’implémentation et des extensions de votre serveur SIEVE.





