Comment configurer Exim4 en SmartHost
Sommaire
Introduction
Ce Tutoriel a été réalisé afin de vous montrer comment configurer Exim4 en smarthost. Ceci vous permettra d'envoyer et de recevoir des mails à partir du serveur smtp de gmail (un relay host pour résumer). Dans notre tutoriel, le paquet Exim4 n'est pas installé par défaut, cependant sur un système de base, celui-ci sera installé, il faudra simplement le re configurer.
Requis
- Avoir les droits Root
- Avoir configurer le hostname
Installation
apt-get install exim4
ou
aptitude install exim4
Après avoir installé Exim ou si il est déjà :
dpkg-reconfigure exim4-config
ou
dpkg-reconfigure exim4-config
Choisissez :
- Envoi par relais (smarhost) - réception SMTP ou fecthmail
- Nom de courrier du système : votre_domaine.com
- Liste d'adresses IP : Laissez par défaut
- Autres destinations dont le courrier est accepté : Laissez votre_domaine.com (ou effacer)
- Machines à relayer : Laissez vide
- Nom réseau ou adresse IP du système "smarhost" : smtp.gmail.com::587
- Faut-il cacher le nom local de courrier : Non
- Faut-il minimiser les requêtes DNS (connexions à la demande) : Non
- Méthode de distribution du courrier local : Format mbox dans /var/mail
- Faut-il séparer la configuration dans plusieurs fichiers : Oui
- Destinataire des courriers de root et postmaster : Laissez vide
Maintenant, on vas ajouter notre utilisateur gmail :
nano /etc/exim4/passwd.client
Ajouter :
*.google.com:votre_pseudo_gmail@gmail.com:votre_motdepasse_gmail
On sécurise :
chown root:Debian-exim /etc/exim4/passwd.client chmod 640 /etc/exim4/passwd.client
Puis, faites :
nano /etc/email-addresses
Copier / coller :
votre_utilisateur: SMTPAccountName@gmail.com votre_utilisateur@localhost: SMTPAccountName@gmail.com votre_utilisateur@votre_domaine: SMTPAccountName@gmail.com votre_utilisateur@votre_domaine.localdomain: SMTPAccountName@gmail.com
On recharge la configuration puis on redémarre Exim :
update-exim4.conf invoke-rc.d exim4 restart
Pour conclure, il nous faut tester cette configuration :
mail -s "test YESSSS" votremail.gmail.com
Si la commande mail vous retourne non trouvé, installer le paquet adéquate :
aptitude install mailutils
mailutils est mon préféré donc à vous de choisir celui qui vous conviendra au mieux !
On vérifie dans le log :
tail -f /var/log/exim4/mainlog
On admire :
2015-01-29 02:56:25 1YGjkm-000584-AQ Completed
Ceci est une traduction de ce site.
Rediriger les mails locaux vers Gmail
Connectez-vous en root puis exécuter :
cd ~ nano /etc/aliases
puis éditer la ligne commencant par root en modifiant par :
root: votre_mail@gmail.com
Sauvegarder (CTRL + O puis Entrée).
On vas re générer tout ça :
newaliases
Les commandes à connaître
Consulter les logs
sudo tail /var/log/exim4/mainlog
Forcer la diffusion d'un message message-id
sudo exim4 -M <message-id>
Forcer l’exécution de la file d'attente
sudo exim4 -qff
Forcer l'exécution de la file d'attente et d'envoyer les messages bloqués
sudo exim4 -qff
Supprimer tous les messages de la file d'attente
sudo exim4 -Mrm `ls /var/spool/exim4/input/ | grep -- -H$ | cut -c 1-16`
Visualiser le journal d'un message
sudo exim4 -Mvl <message-id>
Visualiser le contenu d'un message
sudo exim4 -Mvb <message-id>
Visualiser l'entête d'un message
sudo exim4 -Mvh <message-id>
Supprimer un messagede la file d'attente sans envoyer de message d'erreur
sudo exim4 -Mrm <message-id>
Abandonner l'envoi d'un message de la file d'attente et en informer son expediteur
sudo exim4 -Mg <message-id>
Visualiser le nombre de messages de la file d'attente
sudo exim4 -bpr | grep "<" | wc -l
Visualiser le nombre de messages bloqués dans la file d'attente
sudo exim4 -bpr | grep frozen | wc -l
Supprimer les messages bloqués
sudo exim -bpr | grep frozen | awk {'print $3'} | xargs exim -Mrm
Protection contre le SPAM
apt-get install greylistd
ou
aptitude install greylistd
On copie la configuration :
cp -R /etc/exim4 /etc/exim4.pre-greylist
On ajoute greylist à exim :
greylistd-setup-exim4 add
Si vous souhaitez ajuster la configuration, le fichier est /etc/greylistd/config.
Vous pouvez également inclure une liste blanche dans /etc/greylistd/whitelist-hosts.
F.A.Q
Q j'ai reçu un mail m'indiquant que j'ai été bloqué :
Bonjour Free 4 Funs,
Vous avez récemment modifié vos paramètres de sécurité. Votre compte Google [free4funs@gmail.com] n'est donc plus protégé par les normes de sécurité modernes.
R Allez sur la page et activer les applications puis renouveler le test.
Q j'ai l'erreur ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken, comment régler ce problème ?
R Toujours en root
netstat -ntpl |grep 25
identifier le service en question puis supprimer le (aptitude remove paquet --purge).
Vous pouvez simplement l'effacer/désactiver au démarrage :
update-rc.d nom_service disable (ou remove à la place de disable)
Puis éditer le fichier /var/log/exim4/paniclog, supprimer tout le contenu (pas de ligne vide !!) puis redémarrer Exim :
invoke-rc.d exim4 restart