Utiliser Dovecot comme LDA avec Postfix

1. Demande à Postfix d'utiliser Dovecot LDA en tapant les commandes suivantes dans le terminal. Le fichier /etc/postfix/main.cf sera modifié.

# postconf -e virtual_transport=dovecot
# postconf -e dovecot_destination_recipient_limit=1

2. Ajouter ceci dans le fichier /etc/postfix/master.cf

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

Voir ceci pour postfix-Dovecot LDA

Créer le compte virtuel vmail:

# groupadd -g 5000 vmail
# useradd -g vmail -u 5000 vmail -d /var/vmail -m

3. Relancer postfix avec un

# service postfix reload

4. Modifier le fichier /etc/dovecot/dovecot.conf pour activer le LDA dans dovecot (par défaut c'est commenté) et Sieve comme indiqué ci-dessous: Sieve est un langage du filtrage des courriers électroniques. Ainsi, Sieve nous permet de faire des filtrages des courriers et de faire des manipulations par exemple mettre les spams dans le dossier Junk. Ce filtrage des courriels est fait au niveau du serveur lorsque Dovecot LDA livrera les courriels dans la boîte aux lettres des utilisateurs.

protocol lda {
  log_path = /var/vmail/dovecot-deliver.log
  auth_socket_path = /var/run/dovecot/auth-master
  postmaster_address = postmaster@mu.auf.org
  mail_plugins = sieve
  mail_plugin_dir = /usr/lib/dovecot/modules/lda
#  plugin {
#       sieve_global_path = /var/vmail/globalsieverc
#  }
}

plugin {
  sieve=~/.dovecot.sieve
  sieve_global_path = /var/vmail/globalsieverc
}


auth default {
        mechanisms = plain login
        passdb sql {
                args = /etc/dovecot/dovecot-sql.conf
        }

        userdb sql { 
                args = /etc/dovecot/dovecot-sql.conf 
        }

        userdb static {
                args = uid=5000 gid=5000 home=/var/vmail/%d/%n allow_all_users=yes
        }

        socket listen {
                master {
                        path = /var/run/dovecot/auth-master
                        mode = 0600
                        user = vmail
                        group = vmail
                }
        
                client {
                        path = /var/spool/postfix/private/auth
                        mode = 0660
                        user = postfix
                        group = postfix
                }
        }
}

Le fichier /var/vmail/globalsieverc contient les régles de filtrage. Ceci est applicable pour tous les comptes. On peut aussi avoir des scripts individuels à travers: sieve = ~/.dovecot.sieve

# cat /var/vmail/globalsieverc donne ceci
require ["fileinto"];
if header :contains ["X-Spam-Flag"] ["YES"] {
   fileinto "Junk";
}

Plus d'informations voir Ceci ou le site de Sieve

5. Un example de fichier /etc/dovecot/dovecot-sql.conf

driver = mysql

connect = host=mysql_server dbname=nss user=nss_read password=****

user_query = SELECT CONCAT('/var/mail/',username), 5000, 5000  FROM users WHERE username = '%n'

password_query = SELECT username as user, password, CONCAT('/var/mail/',username) as userdb_home, CONCAT('/var/mail/',username) as userdb_mail, 5000 as userdb_uid, 5000 as userdb_gid FROM users WHERE username = '%n'

Configuration de SOGo pour activer SIEVE


A suivre.... ShafeekSumser

PostfixDovecot (dernière édition le 2012-11-14 21:58:45 par MoussaNombre)