Je vais détailler l'installation d'un serveur [Postfix](http://fr.wikipedia.org/wiki/Postfix) / [Dovecot](http://fr.wikipedia.org/wiki/Dovecot) sous Debian. Le serveur [SMTP](http://fr.wikipedia.org/wiki/SMTP) installé par défaut est [Exim](http://fr.wikipedia.org/wiki/Exim) mais je l'ai remplacé par Postfix que je connais un peu (rien de personnel contre Exim qui fait sûrement très bien son travail). Je veux gérer mon courrier depuis Thunderbird et utiliser le protocole [IMAP](http://fr.wikipedia.org/wiki/IMAP) pour laisser les messages sur le serveur. D'abord on installe avec apt-get qui s'occupera de la désinstallation d'Exim. apt-get install postfix dovecot Mon gros souci est bien sûr la sécurité : se faire pirater son courrier n'est pas une pensée agréable mais envisager qu'on utilise son serveur de courrier pour spammer l'est encore moins. Il faut donc envisager une authentification SMTP, des mots de passe robustes et un cryptage des données SSL. On peut générer soi-même son certificat mais on aura des soucis avec les applications clientes car il ne sera pas authentifiée par une autorité reconnue. La plupart de ces autorités font payer ce service. Un compromis que j'ai jugé acceptable consiste à requérir les services de [CAcert](http://www.cacert.org) qui permet de signer des clefs que vous aurez générées, sous réserve de prouver que vous êtes détenteur du domaine (rien de méchant il suffit de confirmer un courrier sur une adresse de ce domaine). Quand on reçoit le certificat on l'installe sous etc/ssl/certs/dovecot.pem et on installe la clef privée sous etc/ssl/private/dovecot.pem. Il faut ensuite adapter la configuration de Dovecot sous /etc/dovecot/dovecot.conf : ssl_disable = no ssl_cert_file = /etc/ssl/certs/dovecot.pem ssl_key_file = /etc/ssl/private/dovecot.pem disable_plaintext_auth = yes auth default { mechanisms = cram-md5 socket listen { client { # Assuming the default Postfix $queue_directory setting path = /var/spool/postfix/private/auth mode = 0660 # Assuming the default Postfix user and group user = postfix group = postfix } } passdb passwd-file { args = /etc/dovecot/cram-md5.pwd } } L'authentification CRAM-MD5 peut-être préférée à LOGIN, elle permet de gérer les comptes indépendamment des comptes UNIX. Sa configuration est détaillée  [ici](http://wiki.dovecot.org/HowTo/CRAM-MD5?action=show&redirect =CRAM-MD5). Pour Postfix on se simplifie grandement la vie en s'appuyant sur Dovecot pour l'autentification. Voici les paramètres clés de /etc/postfix/main.cf : smtpd_tls_cert_file=/etc/sl/certs/dovecot.pem smtpd_tls_key_file=/etc/ssl/private/dovecot.pem smtpd_use_tls=yes myhostname = "le nom DNS de mon serveur" relayhost = "le serveur SMTP de mon fournisseur" mynetworks = 192.0.0.0/8, 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 smtpd_sasl_type = dovecot smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination Il ne faut pas oublier de mettre en place les règles NAT pour ouvrir le port 25 et 143 vers l'extérieur et de redémarrer les services : /etc/init.d/dovecot restart /etc/init.d/postfix restart