Contenu

Serveur mail (Debian 7.6) 6/6 : Installation et configuration de Sieve

Contenu

Sieve est un langage de filtrage des mails. Pour activer ManageSieve dans Dovecot, nous devons installer le package dovecot-sieve, via la commande suivante :

1
# apt-get install dovecot-sieve dovecot-managesieved

On édite le fichier « 10-master.conf », via la commande suivante :

1
# vi /etc/dovecot/conf.d/10-master.conf

On ajoute les lignes suivantes après la ligne 100 :

1
2
3
4
5
unix_listener auth-master {
  mode = 0660
  user = vmail
  group = vmail
}

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/15-lda.conf /etc/dovecot/conf.d/15-lda.conf.ori

On édite le fichier de configuration « 15-lda.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/15-lda.conf

On décommente la ligne 7 et on la modifie comme suit :

1
postmaster_address = postmaster@mon-domaine.fr

On décommente la ligne 40 et on la modifie comme suit :

1
lda_mailbox_autocreate = yes

On décommente la ligne 43 et on la modifie comme suit :

1
lda_mailbox_autosubscribe = yes

On décommente les lignes 47 et on la modifie comme suit :

1
mail_plugins = $mail_plugins sieve

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/20-managesieve.conf /etc/dovecot/conf.d/20-managesieve.conf.ori

Nous allons activer la prise en charge de Sieve et modifier les chemins des fichiers de logs de Sieve. Pour cela, on édite le fichier de configuration « 20-managesieve.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/20-managesieve.conf

On décommente les lignes 7 à 10, 19, 26, 35, 39, 58 et 73 On ajoute les lignes suivantes après la ligne 72 :

1
2
log_path = /var/log/dovecot/dovecot-sieve-errors.log
info_log_path = /var/log/dovecot/dovecot-sieve.log

Avant de modifier le fichier de configuration, nous allons le sauvegarder via la commande suivante :

1
# cp /etc/dovecot/conf.d/90-sieve.conf /etc/dovecot/conf.d/90-sieve.conf.ori

Nous allons modifier la configuration de Sieve. Pour cela, on édite le fichier de configuration « 90-sieve.conf » via la commande suivante :

1
# vi /etc/dovecot/conf.d/90-sieve.conf

On décommente la ligne 19 et on la modifie comme suit :

1
sieve_default = /etc/dovecot/sieve/global/default.sieve

On décommente la ligne 26 et on la modifie comme suit :

1
sieve_global_dir = /etc/dovecot/sieve/global/

Nous allons créer les fichiers de logs, via les commandes suivantes :

1
2
3
4
5
6
# touch /var/log/dovecot/dovecot-lda.log
# touch /var/log/dovecot/dovecot-lda-errors.log
# touch /var/log/dovecot/dovecot-sieve.log
# touch /var/log/dovecot/dovecot-sieve-errors.log
# touch /var/log/dovecot/dovecot-lmtp.log
# touch /var/log/dovecot/dovecot-lmtp-errors.log

Nous allons créer les répertoires pour le plugin « sieve » dans Dovecot :

1
# mkdir -p /etc/dovecot/sieve/global

Nous allons redémarrer Dovecot pour prendre les modifications, via la commande suivante :

1
# service dovecot restart

Nous allons vérifier que « sieve » est bien pris en compte dans Dovecot via la commande suivante :

1
netstat -tunlp | grep :4190

Voilà ce que doit retourner la commande :

1
2
tcp 0 0 0.0.0.0:4190 0.0.0.0:* LISTEN 1606/dovecot
tcp6 0 0 :::4190 :::* LISTEN 1606/dovecot

Maintenant nous allons modifier la configuration de Postfix pour prendre en compte sieve. Pour cela, on édite le fichier « main.cf » via la commande suivante :

1
# vi /etc/postfix/main.cf

On modifie la ligne 675 comme suit :

1
virtual_transport = dovecot

On ajoute la ligne suivante à la fin du fichier :

1
dovecot_destination_recipient_limit = 1

Nous devons aussi modifier le fichier de configuration « master.cf ». On l’édite via la commande suivante :

1
# vi /etc/postfix/master.cf

On ajoute les lignes suivantes à la fin du fichier :

1
2
dovecot unix - n n - - pipe
  flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}

Nous allons redémarrer Postfix pour prendre les modifications, via la commande suivante :

1
# service postfix restart

Maintenant que Sieve est configuré coté serveur, nous allons active le plugin dans Roundcube. Pour cela nous allons éditer le fichier « config.inc.php » via la commande suivante :

1
# vi /var/www/roundcubemail/config/config.inc.php

On modifie la ligne 75 comme suit :

1
$config['plugins'] = array('managesieve');

Nous allons activer le fichier de configuration du plugin Siege via la commande suivante :

1
# cp /var/www/roundcubemail/plugins/managesieve/config.inc.php.dist /var/www/roundcubemail/plugins/managesieve/config.inc.php

Nous allons éditer le fichier de configuration du plugin Sieve, via la commande suivante :

1
# vi /var/www/roundcubemail/plugins/managesieve/config.inc.php

On modifie la ligne 5 comme suit :

1
$config['managesieve_port'] = 4190;

Nous allons maintenant créer un filtre Sieve. Pour cela nous allons créé un répertoire « sieve » qui contiendra le fichier dans lequel sera stocké les règles de filtrages. Pour ceal nous allons taper la commande suivante :

1
# mkdir /var/vmail/mon-domaine.fr/user/sieve

Nous allons créé le fichier qui contiendra les règles de filtrage, lui appliquer les bons droits, modifier le propriétaire, via les commandes suivantes :

1
2
3
# touch /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve
# chmod 0600 /var/vmail/mon-domaine.fr/user/sieve/filtres.sieve
# chown vmail:vmail -R /var/vmail/mon-domaine.fr/user/sieve/

Maintenant, il ne reste plus qu’a activer les filtres dans Roundcube. Pour cela, on se connecte à Roundcube (https://www.mon-domaine.fr) , on va dans les paramètres. On clique sur Filtres dans la colonne Paramètres, on clique sur la roue cranté puis sur Activer/Désactiver