logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Exim4 Pour Les Nuls

Introduction

Exim4 est un serveur de messagerie très complet, il est le serveur de messagerie par défaut sur Debian.
Il permet de recevoir et d'envoyer des mails.
Il peut être configuré en serveur et/ou en client.

Nous allons expliquer ici comment l'utiliser :
Pour envoyer les mails système de nos machines sur l'adresse mail de notre FAI (ou tout autre compte valide de messagerie),
on utilisera le SMTP du FAI pour livrer nos messages .

Il y a 3 cas possibles :

  • Une machine sur un réseau local sans domaine avec une box-truc pour internet.
  • Une machine sur un sous-réseau avec un domaine et une passerelle pour accès a la box-truc.
  • Une machine qui fait office de smarthost pour un sous-réseau (notre passerelle par exemple).

Installation

Exim4 est déjà installé sous debian , si ce n'est pas le cas :

apt-get update && apt-get install exim4

Si le configurateur graphique s'ouvre :
confirmer la configuration par défaut par des “OK” .
Par défaut il ne traite que les messages locaux et les archives localement sur la machine.

Maintenant il faut renseigner les deux fichiers “aliases” et “emails-addresses” (attention il y a 2 “d” à “addresses”).

nano /etc/aliases
root: user1 (nom du user de votre logging de session) \\
rajouter cette ligne en fin de script. \\
user1: votre_adresse_mail_internet (votre compte de messagerie où vous voulez que les mails soient livrés). \\

si votre user du logging est “toto” et votre compte de messagerie dupont@domaine.net
toto: dupont@domaine.net (un espace entre “toto:” et “l'adresse mail”)

Pour le fichier emails-addresses, il vous permet d identifier l'expéditeur mais n'a pas besoin d'être réel.
Explication : il va se trouver dans le from du message reçu , il faut qu'il soit valide mais ne dois pas forcément exister.
Ceci ne fonctionnera pas : dupont@domain
Ceci fonctionnera : dupont@domain.net

J'utilise le nom de ma machine, si elle s'appelle debian40 , je mettrais debian40@local.net
ou pour un sous-réseau avec un nom de domaine, la même machine debian40@domaine_du _sous-réseau

modification du fichier

nano /etc/email-addresses
fichier email-addresses
# This is /etc/email-addresses. It is part of the exim package 
# 
# This file contains email addresses to use for outgoing mail. Any local
# part not in here will be qualified by the system domain as normal. 
# 
# It should contain lines of the form: 
# 
#user: someone@isp.com 
#otheruser: someoneelse@anotherisp.com 
root: debian40@local.net 
user1: debian40@local.net

Même remarque que ci-dessus “user1” mettre le nom de votre user de la session
généralement c'est root qui nous écrit.

un exemple: la forme du message reçu sur ma messagerie

de 	"root" <debian40@local.net>
à 	root@local.net 
date 	13/05/15 18:37 
objet 	apt-listchanges : nouveautés pour debian40 
 
Le message: 
 
sane-backends (1.0.24-10) unstable; urgency=high 
 
 The v4l backend is disabled since this version. 
 
-- Jörg Frings-Fürst <debian@jff-webhosting.net>  Sun, 18 Jan 2015 11:46:18 +0100

J'ai bien debian40, je sais d'où vient mon message, l'email debian40@local.net n'existe pas, mais valide pour la messagerie.
J'espère avoir été clair, le reste n'est plus qu'un détail pour finir la configuration de Exim4.

Première configuration

Vous avez une seule machine connectée à internet sans domaine local,
Exim4 devra être smarthost et client sur cette machine.
La commande à faire sur une console graphique et en root (l'utilitaire est en français)

dpkg-reconfigure exim4-config

Lancement du configurateur graphique de Exim4
(fonctionne en console graphique et console serveur.)

configuration du serveur de courrier.
type de configuration : =>
"envoi par relais (smarthost)-pas de courrier local."
on sélectionne "OK" puis "enter".

Nom du courrier système: => "debian40" (le nom netbios de votre machine).
on sélectionne "OK" puis "enter".

Liste des adresses IP où exim sera en attente de connexions SMTP entrantes: => "127.0.0.1"
Attention ne jamais laisser vide ce champ , personnellement j'enlève l'ipv6 local.
exim sera à l'écoute sur 127.0.0.1 pour les messages entrants
on sélectionne "OK" puis "enter"

Autres destinations dont le courrier doit être accepté : => "localhost"
on sélectionne "OK" puis "enter"

Nom de domaine visible pour les utilisateurs locaux: => "localhost"
on sélectionne "OK" puis "enter"

Nom réseau ou adresse IP du systeme smarthost: => "smtp.orange.fr" (j'ai mis celui d'Orange vous remplacez par le vôtre)
C'est ici que vous précisez comment le serveur distribue les mails vers l'extérieur
si votre FAI demande un mot de passe ce sera expliqué plus bas
on sélectionne "OK" puis "enter"

Faut-il minimiser les requêtes DNS (connexion à la demande ): => "NON"
on sélectionne "NON" puis "enter"

Faut-il séparer la configuration dans plusieurs fichiers: => "NON"
on sélectionne "NON" puis "enter"
 

fin de la configuration, Exim4 redémarre tout seul, votre serveur de messagerie est opérationnel

Deuxième configuration

Vous avez une machine sur un réseau local avec un domaine, DNS ,DHCP et Exim4 serveur sont bien configurés.

Pour aliases et emails-addresses rien ne change voir ci-dessus.
Pour emails-addresses, le domaine “local.net” sera bien sûr remplacé par votre domaine local.

Exim4 devra être client sur cette machine.
La commande à faire sur une console graphique et en root (l'utilitaire est en français)
On va dire que le domaine de ce réseau “mondomaine.net et que le serveur exim4 s'appellent “debian1”
Son adresse sera debian1.mondomaine.net, le dns nous donnera son ip
Notre client s'appellera debian40 sur le domaine mondomaine.net

dpkg-reconfigure exim4-config

lancement du configurateur graphique de Exim4
(fonctionne en console graphique et console serveur.)

configuration du serveur de courrier.
type de configuration : =>
"envoi par relais (smarthost)-pas de courrier local."
on sélectionne "OK" puis "enter".

Nom du courrier système: => "mondomaine.net" (le nom de domaine complet ).
on sélectionne "OK" puis "enter".

Liste des adresses IP ou exim sera en attente de connexions SMTP entrantes: => "127.0.0.1"
attention ne jamais laisser vide ce champ , personnellement j'enlève l'ipv6 local.
exim sera à l'écoute sur 127.0.0.1 pour les messages entrants
on sélectionne "OK" puis "enter"

Autres destinations dont le courrier doit être accepté : => "" (laisser vide)
on sélectionne "OK" puis "enter"

Nom de domaine visible pour les utilisateurs locaux: => "mondomaine.net"
on sélectionne "OK" puis "enter"

Nom réseau ou adresse IP du système smarthost: => "debian1.mondomaine.net" (l'adresse ou l'ip du serveur local exim4)
C'est ici que vous précisez comment le serveur distribue les mails vers l'extérieur
on sélectionne "OK" puis "enter"

Faut-il minimiser les requêtes DNS (connection a la demande ): => "NON"
on sélectionne "NON" puis "enter"

Faut-il séparer la configuration dans plusieurs fichiers: => "NON"
on sélectionne "NON" puis "enter"
 

fin de la configuration, Exim4 redémarre tout seul, votre serveur de messagerie est opérationnel

la différence avec le premier cas est qu'il y a un serveur Exim4 qui fait suivre vos mails vers l'extérieur, ici debian1,
pour debian40 le smarthost est maintenant (non plus lui même) mais debian1.

Troisième configuration

Vous avez une passerelle sur un réseau local avec un domaine, DNS ,DHCP bien configurés
Vous voulez installer un serveur de messagerie qui va récupérer les mails de machines clientes, ses propres mails (en local )
et les faire suivre sur votre messagerie extérieure,
ça ressemble au cas 1 avec quelques nuances. On reprend le même domaine que le cas 2, “mondomaine.net”, serveur “debian1” et client “debian40”.

Pour aliases et emails-addresses rien ne change voir ci-dessus.
Pour emails-addresses, le domaine “local.net” sera bien sûr remplacé par votre domaine local.

Exim4 devra être serveur et client sur cette machine.
La commande à faire sur une console graphique et en root (l'utilitaire est en français)

dpkg-reconfigure exim4-config

lancement du configurateur graphique de Exim4
(fonctionne en console graphique et console serveur.)

configuration du serveur de courrier.
type de configuration : =>
"envoi par relais (smarthost)-pas de courrier local."
on sélectionne "OK" puis "enter".

Nom du courrier système: => "mondomaine.net" (le nom de domaine complet ).
on sélectionne "OK" puis "enter".

Liste des adresses IP ou exim sera en attente de connexions SMTP entrantes: => "127.0.0.1 ; 192.168.10.1"
Attention ne jamais laisser vide ce champ , personnellement j'enlève l'ipv6 local.
exim sera à l'écoute sur 127.0.0.1 et 192.168.10.1 pour les messages entrants
on sélectionne "OK" puis "enter"

Autres destinations dont le courrier doit être accepté : => "mondomaine.net"
on sélectionne "OK" puis "enter"

Nom de domaine visible pour les utilisateurs locaux: => "mondomaine.net"
on sélectionne "OK" puis "enter"

Nom réseau ou adresse IP du systeme smarthost: => "smtp.orange.fr" (j'ai mis le smtp d'orange comme exemple à remplacer par
le vôtre)
c'est ici que vous précisez comment le serveur distribue les mails vers l'extérieur
on sélectionne "OK" puis "enter"

Machines à relayer : => "192.168.10.0/24"
ip autorisées à envoyer des mails
on sélectionne "OK" puis "enter"

Faut-il minimiser les requêtes DNS (connexion à la demande ): => "NON"
on sélectionne "NON" puis "enter"

Faut-il séparer la configuration dans plusieurs fichiers: => "NON"
on sélectionne "NON" puis "enter"
 

fin de la configuration, Exim4 redémarre tout seul, votre serveur de messagerie est opérationnel.

La différence avec les deux premier cas, nous sommes serveur de messagerie d'un sous-réseau sur eth1 de la passerelle
que l'on précise pas son IP, dans les 2 premiers cas seul 127.0.0.1 était à l'écoute maintenant nous avons aussi 192.168.10.1(ip de eth1 de la passerelle)
D'où la question supplémentaire “machine à relayer”, notre sous-réseau en 192.168.10.0/24 Au niveau sécurité eth0 n'existe pas pour Exim4, il n'écoutera pas les clients sur cet interface.

Voilà une manière simple de récupérer ses mails système sur sa messagerie extérieure.

Nota: Exim4 renseigne un petit fichier /etc/mailname qui contient le nom du serveur de mail
utile pour les applications qui ont besoin de la messagerie :-D

pour les 2 cas avec un domaine et un serveur DNS local \\
mon enregistrement MX est sous la forme \\
     MX       1 debian1.mondomaine.net
votre configuration peut être différente
@    MX       1 mail
ou
$origine  MX  1 mail
à adapter selon votre configuration

Utilisation

Vous pouvez tester:
(ce test est valable pour les 3 cas )
votre nom est “toto” le nom de votre machine “debian40”

en console taper

echo "test mail "   |  mail -s "test"  toto

ou

echo "test mail "   |  mail -s "test"  toto@debian40

votre message sera:
de: toto@debian40
a: toto
objet: test

ps: petite remarque , si vous lancez la commande en console root (au lieu d user) pour la ligne ci dessus , pour “de: toto@debian40” vous aurez “de: root@debian40”

relancer messages en attentes

exim -qff

information sur exim4

/usr/sbin/exim4 -d -bt mail

liste des messages gelés

mailq | grep "frozen"

puis retenter la livraison du message

exim4 -M 1I8ule-001MM-09

1I8ule-001MM-09 correspond au nom du message , a adapter avec le nom reel de votre message en attente

supprimer les messages en file d attente

exim4 -Mrm `ls /var/spool/exim4/input/ | grep -- -H$ | cut -c 1-16`
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/reseau/exim4-pour-les-nulls.txt · Dernière modification: 22/01/2016 17:08 par milou

Pied de page des forums

Propulsé par FluxBB