Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

RFC 5230: Sieve Email Filtering: Vacation Extension

Date de publication du RFC : Janvier 2008
Auteur(s) du RFC : T. Showalter, N. Freed (Sun)
Chemin des normes
Première rédaction de cet article le 20 février 2008


Le langage de filtrage du courrier électronique Sieve repose sur un socle minimum, que doivent comprendre toutes les implémentations de Sieve, et un certain nombre d'extensions, couvrant des besoins supplémentaires. Ce RFC déclare l'extension vacation, qui permet de mettre en place un répondeur automatique.

La section 4 du RFC détaille l'extension et son mode d'emploi. Comme toute extension Sieve, elle doit être introduite par un require. Elle prend comme paramètre une chaîne de caractères qui sera envoyée à l'expéditeur et diverses options comme :addresses qui indique les adresses de destinataire que le script Sieve considérera comme locales (car un répondeur automatique ne doit pas répondre à n'importe quel message, seulement ceux où son maître est listé dans les champs comme To:, cf. section 4.5). Voici un exemple :

   require "vacation";
   vacation :addresses ["stephane@bortzmeyer.org",
                        "bortzmeyer@gmail.com"]
        "Je suis parti, je lirai avec plaisir votre message plus tard.";

Comme l'avertit le RFC 3834, un répondeur automatique est un programme dangereux, et tout le monde a déjà reçu des réponses stupides, par exemple alors qu'on avait écrit à une liste de diffusion, pas directement au destinataire. Ou bien des réponses multiples alors qu'on avait déjà été prévenu. D'où la section 4.2 qui précise qu'une mise en œuvre de vacation doit se souvenir de qui a déjà été prévenu, pendant au moins sept jours (valeur modifiable par l'option :days). Cette section est très détaillée car la règle exacte est plus complexe, elle doit prendre en compte le résultat des autres tests Sieve.

La section 5 décrit le message de réponse lui-même, les en-têtes qu'il doit avoir (comme In-Reply-To, section 5.8).

Ces messages de réponse étant destinés à des humains, la question de leur internationalisation est cruciale. L'expéditeur qui écrit en zazaki à un zazakophone serait surpris de recevoir un message en anglais ! C'est l'objet de la section 7 qui précise comment utiliser les en-têtes du RFC 3282 comme Content-Language :

    if header :contains ["accept-language", "content-language"] 
              "fr"
   {
       vacation "Je ne suis pas là.";
   } else {
       vacation "I am away.";
   }

Téléchargez le RFC 5230

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)