You are on page 1of 7

Installation et configuration d'un serveur

IMAP avec Dovecot


Introduction
Dovecot est un serveur POP et IMAP lger, simple configurer et ncessitant peu de ressources pour
fonctionner. Il dispose galement d'un certain nombre de plugins intressants.

Nous verrons comment l'installer et le configurer dans une configuration de base (pas de passage par une base de
donnes ou autre).

Installation
L'installation de Dovecot est facile :

apt-get install dovecot-imap

Cette commande ne fonctionne pas avec Ubuntu 9.10 et 10.4. Avec Ubuntu 10.4, il faut taper:

sudo apt-get install dovecot-imapd

Vous pouvez ensuite lancer le service tout simplement avec :

service dovecot start

Configuration
Le fichier de configuration de Dovecot se trouve dans /etc/dovecot/dovecot.conf et est trs bien
document. Voici quelques rglages ncessaires.

Protocoles

Si vous souhaitez faire de l'IMAP, vous devrez indiquer la ligne protocols suivante :

protocols = imap

Si vous souhaitez utiliser IMAP et SSL, vous devrez indiquer le protocole ainsi que l'emplacement de votre
certificat et cl SSL :

protocols = imaps
ssl_cert_file = /chemin/vers/votre/certificat/ssl

ssl_key_file = /chemin/vers/votre/cl/ssl

Authentification

Le module d'authentification de Dovecot est trs complet et permet de la raliser de nombreuses manires. Si
vous souhaitez simplement utiliser l'authentification de vos utilisateurs sur le serveur, il suffit d'ajouter (ou
modifier) la ligne suivante dans le module auth

mechanisms = plain login

Emplacement des messages

Dovecot est capable d'accder aux messages stocks au format Maildir ou Mbox. Si votre serveur SMTPdlivre
les messages dans un rpertoire Maildir (au format Maildir donc) situ dans le rpertoire racine de
l'utilisateur, vous indiquerez alors :

mail_location = maildir:~/Maildir

Dovecot fournit une commande maildirmake.dovecot permettant de crer un Maildir si vous en avez
besoin.

Ressources utilises

Si vous n'avez qu'une seule part, il peut tre intressant de rduire encore un peu plus les ressources utilises par
Dovecot. Voici par exemple quelques options de configuration possibles :

login_process_per_connection = no

login_processes_count = 2

login_max_processes_count = 20

C'est termin

Une fois configur et relanc (service dovecot restart) votre serveur doit correctement rpondre sur le port 143
(imap) et/ou 993 (imaps) selon votre configuration. Vous pourrez alors relever vos messages.

Bonus 1 : authentification SASL avec Postfix


Tous ceux qui ont dj eu configurer l'authentification SASL pour Postfix savent qu'il s'agit d'un chemin
parfois compliqu. Bonne nouvelle, vous allez pouvoir profiter de Dovecot pour faire le boulot, vous simplifier
la vie et conomiser quelques services qui se chargeaient de cette tche auparavant.
Dans votre section auth default {} vous pouvez activer l'export de l'authentification afin que Postfix
puisse l'utiliser. la fin de la section, ajoutez ceci :

socket listen {

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

Relancez Dovecot puis ditez le fichier /etc/postfix/main.cf afin d'y ajouter ceci :

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

Bien sr, vous prendrez soin de configurer tout ce qui se rapporte l'authentification dans Postfix et qui n'a rien
voir avec ce tutoriel.

Bonus 2 : Apprentissage du spam


Filtrer le spam avec Spamassassin, par exemple, est assez simple mettre en place. Ce qui l'est moins est
gnralement de maintenir un apprentissage des messages spam ou non spam. videmment, vous pouvez
vous connecter en SSH votre serveur et lancer les commandes d'apprentissage la main. Avouez que vous
aimeriez que a soit plus facile.

Vous aimeriez peut-tre que l'apprentissage d'un spam se dclenche ds qu'un message est dpos dans un
dossier IMAP donn. Ou galement quand un message sort de ce dossier (ce qui signifierait non spam). Tout
ceci automatiquement.

Dovecot, par le biais de son plugin antispam le permet.

Installation

Vous devez d'abord installer le paquet du plugin :

apt-get install dovecot-antispam


Configuration

Toujours dans le fichier /etc/dovecot/dovecot.conf, vous devez disposer d'une ligne :

mail_plugins = antispam

Ensuite, dans la section plugin {}, vous devez configurer votre plugin.

Avant, voici ce que nous supposons :

Vous utilisez spamassassin en mode spamd et pouvez donc lui passer des commandes via spamc
Votre dossier de spam s'appelle Junk
Votre corbeille s'appelle Trash ou trash

Si les paramtres de dossier sont diffrents, vous veillerez la changer. Voici donc la configuration que nous
ajoutons dans plugin {} :

antispam_spam = Junk

antispam_trash = Trash;trash

antispam_allow_append_to_spam = yes

antispam_mail_sendmail = /etc/dovecot/antispam

antispam_mail_sendmail_args = -u;%u;-L

antispam_mail_spam = spam

antispam_mail_notspam = ham

antispam_mail_tmpdir = /tmp

Quelques remarques.

antispam_allow_append_to_spam rend le plugin actif.

Vous constatez qu'un fichier /etc/dovecot/antispam est appel comme commande remplaant sendmail.
Nous utilisons en effet cette technique pour appeler spamc. Nous aurions pu indiquer/usr/bin/spamc mais
le plugin requiert un code retour de 0 et pas autre chose. spamc peut parfois retourner autre chose que 0 (si le
message est trop volumineux par exemple).

Vous devez donc crer un fichier /etc/dovecot/antispam :

#!/bin/sh
/usr/bin/spamc $@

exit 0

Et le rendre excutable :

chmod a+x /etc/dovecot/antispam

Ce fichier ne fait rien d'autre qu'appeler spamc en lui passant les arguments donnes
dansantispam_mail_sendmail_args puis quitter avec un code retour de 0.

Vous pouvez consulter la page man antispam pour en savoir plus sur toutes les options de configuration du
plugin.

Une fois votre serveur relanc, vous pouvez tester le fonctionnement du plugin en regardant dans vos
logs/var/log/mail.log. Au moment o vous dplacez un message dans le dossier spam, vous devriez voir
une ligne comme celle-ci :

spamd: connection from localhost [127.0.0.1] at port 46885

spamd: setuid to xxxxx succeeded

Dovecot Server
Dovecot is a Mail Delivery Agent, written with security primarily in mind. It supports the
major mailbox formats: mbox or Maildir. This section explain how to set it up as an imap or
pop3 server.

Installation
To install dovecot, run the following command in the command prompt:

sudo apt-get install dovecot-imapd dovecot-pop3d

Configuration
To configure dovecot, you can edit the file /etc/dovecot/dovecot.conf. You can choose
the protocol you use. It could be pop3, pop3s (pop3 secure), imap and imaps (imap secure). A
description of these protocols is beyond the scope of this guide. For further information, refer
to the Wikipedia articles on POP3 and IMAP.

IMAPS and POP3S are more secure that the simple IMAP and POP3 because they use SSL
encryption to connect. Once you have chosen the protocol, amend the following line in the
file /etc/dovecot/dovecot.conf:

protocols = pop3 pop3s imap imaps

Next, choose the mailbox you would like to


use. Dovecot supports maildir and mbox formats. These are the most commonly used
mailbox formats. They both have their own benefits and are discussed on the Dovecot web
site.

Once you have chosen your mailbox type, edit the file /etc/dovecot/dovecot.conf and
change the following line:

mail_location = maildir:~/Maildir # (for maildir)


or
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u # (for mbox)

You should configure your Mail Transport Agent (MTA) to transfer the incoming mail
to this type of mailbox if it is different from the one you have configured.

Once you have configured dovecot, restart the dovecot daemon in order to test your setup:

sudo /etc/init.d/dovecot restart

If you have enabled imap, or pop3, you can also try to log in with the commands telnet
localhost pop3 or telnet localhost imap2. If you see something like the following, the
installation has been successful:

bhuvan@rainbow:~$ telnet localhost pop3


Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Dovecot ready.

Dovecot SSL Configuration


To configure dovecot to use SSL, you can edit the file /etc/dovecot/dovecot.conf and
amend following lines:

ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
ssl_disable = no
disable_plaintext_auth = no
You can get the SSL certificate from a Certificate Issuing Authority or you can create self signed
SSL certificate. The latter is a good option for email, because SMTP clients rarely complain about
"self-signed certificates". Please refer to the section called Certificates for details about how to
create self signed SSL certificate. Once you create the certificate, you will have a key file and a
certificate file. Please copy them to the location pointed in
the /etc/dovecot/dovecot.conf configuration file.

You might also like