Dernière mise à jour le 21/12/2012

Installer un serveur mail


Je ne fournirai plus de service de serveur mail!

Tout simplement je n'ai pas la prétention de fournir un service d'ordre "professionnel" à des utilisateurs qui ne pourront qu'être déçu.
Le service pourrait être coupé de temps à autre pour des raisons inconnues... Cependant mon serveur tourne, et vous pouvez m'envoyer un mail sur ftg (at) lutix (point) org ;) (pour une réponse plus rapide c'est ftg (at) lutix (point) org sur jabber).

Je ne prétends pas tout maitriser ni en ce qui concerne les protocoles de transports de mail (SMTP) ni en ce qui concerne l'administration d'un serveur mail (ici EXIM). Les questions que je me pose encore en témoignent.

Jabber

Commençons par un peu d'explication avec les mains!
Un "serveur mail" c'est un ensemble de programme qui tourne sur une machine et qui permettent l'envoi et la réception de données d'un format bien spécifique (un e-mail).
La pierre angulaire du serveur est ce qu'on appelle le MTA (Mail Transfert Agent) c'est lui qui, à l'écoute sur le port 25, se charge de réceptionner les mails des serveurs distants. Il se charge aussi de les envoyer, soit directement, soit en se servant de relais ou "smarthost".
Par défaut sur Debian, exim4 est installé, sur Ubuntu par exemple:
#apt-get install exim4
Vérifiez qu'un autre MTA ne soit pas déjà installé, j'ai eu le problème et je ne comprenais pas pourquoi la connexion smtp ne se faisait pas avec mon serveur alors que tout était bien configuré (iptables, port d'écoute, noms d'hôtes)...
Sous Debian, un système de configuration simplifié a été mis en place. Il est pratique pour une configuration simple mais est vite très limité, pour l'utiliser un petit:
#dpkg-reconfigure exim4-config
Vous vous retrouvez alors avec un petit fichier /etc/exim4/update-exim4.conf.conf qui contient les informations préalablement bien remplie, il existe un tas d 'information sur le sujet sur internet...
Notez d'ailleurs que vous pouvez aussi faire un:
#update-exim4.conf
un fois votre fichier de conf mis à jour sans repasser par l'outil de configuration Debian.
Dans tous les cas je trouve plus pratique d'éditer un fichier /etc/exim4/exim.conf...
ici un petit:
#zcat /usr/share/doc/exim4-base/examples/example.conf.gz > /etc/exim4/exim4.conf
Et là ca va mieux! On peut enfin travailler... ;)
Avez vous déjà pensé à vous envoyer des mails à travers votre réseau personnel?
C'est déjà un bon début. Sur mon reseau (lutix.org) j'ai 3 machines (sur 10.0.0.*) et un modem/routeur au milieu (10.0.0.138). Les deux marchines principales (serveur et atom) aimeraient s'envoyer des emails. Notez que les domaines serveur.lutix.org et atom.lutix.org sont du coup complètement qualifiés, il n'y a aucune ambiguïté entre ces deux destinations.
Pour donner du sens à votre réseau, il faut, en plus de configurer vos interfaces, penser à renseigner correctement vos /etc/hosts, par exemple pour la machine atom:
#127.0.0.1 localhost
#127.0.1.1 atom.lutix.org atom
Vous devriez aussi ajouter dans l'un et l'autre des fichiers /etc/hosts, l'adresse complète de l'autre machine, par exemple dans le /etc/hosts de atom:
#10.0.0.2 serveur.lutix.org
Au passage vérifiez que dans /etc/hostname, on retrouve bien le petit nom de votre machine, ici atom.
La partie la plus ardue est sans nulle doute l'édition du fichier /etc/exim4.conf.
Jetez un coup d'oeil à la partie "MAIN CONFIGURATION SETTINGS" qui comporte des éléments importants à renseigner.
Principalement, on pourra faire bien attention à:
#domainlist local_domains = lutix.org : serveur.lutix.org : @
#domainlist relay_to_domains =
#hostlist relay_from_hosts = 127.0.0.1
Le "@" équivaut à localhost ici.
Cette config est minimale et permet d'ores et déjà de mettre en route (ou de redémarrer) sereinement le serveur mail.
#/etc/init.d/exim4 restart
Testez d'ores et déjà si le serveur mail écoute bien sur le port 25 et est enclin à recevoir vos requêtes:
telnet serveur.lutix.org 25 #équivaut à telnet localhost 25...
Vous devirez se voir afficher quelque chose du style:
#Trying 127.0.1.1...
#Connected to serveur.lutix.org.
#Escape character is '^]'.
#220 serveur.lutix.org ESMTP Exim 4.69 Tue, 02 Mar 2010 13:04:21 +0100
Votre serveur est donc prêt à être contacté et à contacter.
Procédez à la même configuration pour votre autre machine.
A présent il faut essayer de bien comprendre comment fonctionne Exim. Vous pouvez aller faire un tour sur exim.org, la doc est vraiment bien fournie, en anglais. La mailing list est aussi très réactive (exim-users@exim.org).

Je me suis récemment abonné à la Livebox d'Orange. Je n'ai pas vraiment réfléchi, sans penser que cela pourrait compromettre ma "philosophie" d'auto-hébergement! La principale contrainte concernant le service de mail sortant. Le port 25 est bloqué côté Orange, ce qui m'empêche de me connecter à un autre serveur smtp que celui d'Orange et encore si je me suis authentifié. Cerise sur le gateau, le serveur mail d'Orange voit son IP régulièrement mise à jour et cette mise à jour n'est traçable que par les DNS d'Orange...
Bref, pour pouvoir envoyer des mails par Orange avec mon exim:
send_to_smart_host:
driver = manualroute
route_list = !+local_domains smtp-msa.orange.fr::587
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
et plus loin:
remote_smtp:
driver = smtp
hosts_require_auth = smtp-msa.orange.fr
et enfin:
LOGIN:
driver = plaintext
public_name = LOGIN
client_send = ":votrelogin@orange.fr:votremotdepasse:"



[LutiX.org écrit sous Vim et herbergé @Home sur une Debian Squeeze par Apache et PHP5]