Messagerie : exemple de filtre sieve

Boris HUISGEN
|
Voici un exemple de filtre sieve incluant 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.