Règles de filtrage sieve à utiliser avec la classification de mails Protecmail

Par défaut notre service de filtrage et de classification d’email va :

  • Supprimer les mails contenant des virus.
  • Mettre en quarantaine, sur notre infrastructure, les mails détectés comme spam.
  • Marquer les mails non prioritaires avec le tag BULK

Cependant cette configuration n’est pas figée et il peut être interessant et/ou utile de procéder autrement. Il est par exemple possible de marquer les mails plutôt que de les supprimer ou de les mettre en quarantaine.

Les marqueurs utilisés sont:

  • VIRUS: pour les mails contenant des virus.
  • SPAM: pour les mails contenant des spams.
  • BULK: pour les mails qui ne sont pas importants.

Si vous décidez de marquer les mails, ils seront normalement distribués vers votre serveur de messagerie et vous devrez – si vous le désirez – mettre en place des règles de distribution pour les classer correctement, dans des dossiers spécifiques, dans les boites mail des destinataires.

Il existe plusieurs techniques de classement et de distribution. Nous allons nous intéresser aujourd’hui a SIEVE car c’est certainement la plus répandue ( aussi bien sur les clients mail que sur les serveurs de messagerie). Pour faire simple, Sieve est un langage de filtrage du courrier électronique, normalisé dans le RFC 5228, qui permet de définir des règles de distribution et de filtrage. Je vous renvois vers l’article de wikipedia si vous souhaitez plus de détails.

Dans notre cas, nous allons considerer que nous utilisons le comportement par défaut  de Protecmail pour les virus, autrement dit ils seront détruit sur l’infrastructure de filtrage Protecmail, et que seuls les spams et les messages non prioritaires seront marqués et distribués.

Nous souhaitons donc :

  • Que les spams soient distribués dans le dossier Spams de la boite mail. Les mails classifiés comme spams par Protecmail vont avoir un header: “X-PM-Scan: SPAM“, nous allons donc utiliser ce header pour créer notre filtre SIEVE.
  • Que les messages non prioritaires soient distribués dans le dossier Bulks. Ces messages vont avoir le header: “X-PM-Scan: BULK”.
Le script SIEVE va donc être :
require "fileinto";

# Distribution des spams dans le dossier INBOX.Spams
if header :comparator "i;ascii-casemap" :contains "X-PM-Scan" "SPAM"  {
        fileinto "INBOX.Spams";
        stop;
}

# Distribution des mails non importants dans le dossier Bulks
if header :comparator "i;ascii-casemap" :contains "X-PM-Scan" "BULK"  {
        fileinto "INBOX.Bulks";
        stop;
}

N’hésitez pas à nous contacter ou à laisser un commentaire si vous avez besoins de renseignements complémentaires.