Relayer les e-mails de Exim4 vers gmail (ou votre ISP)

Toutes les distributions Linux que j'ai utilisée jusqu'à présent installent par défaut un serveur mail SMTP (ou MTA pour Mail Transport Agent) qui sert à envoyer des messages d'administration en local, mais qui peut également être utilisé comme serveur mail complet d'une organisation, ou tout simplement comme un relai permettant de relayer des messages vers un autre serveur SMTP qui se chargera de les traiter.

Exim est l'un des MTA les plus populaires sous Linux, il est installé par défaut avec la distribution Debian. Il est capable de relayer des e-mails envoyés par des utilisateurs locaux vers un serveur SMTP externe.

L'utilisation en tant que relai peut être utile dans plusieurs situations, par exemple:

  • Vous désirez recevoir les messages ou les alertes systèmes sur votre boîte personnelle.
  • Vous n'avez pas une addresse IP fixe, donc vous ne pouvez faire tourner un serveur mail sans que vos e-mails ne soient considérés comme SPAM.
  • Vous avez un serveur Web en local et vous voulez utiliser la fonction 'mail' de PHP pour vous envoyer des e-mails ou à un groupe d'utilisateurs (Mailing-list).
  • Vous désirez tout simplement pouvoir envoyer des e-mails à partir de la ligne de commande en utilisant votre boîte personnelle.

 

Voici donc les étapes à suivre pour activer le relai vers Gmail, ou éventuellement tout autre fournisseur:

1- Si exim4 n'est pas installé, installez-le en tapant:

# sudo aptitude install exim4

 

2- Tapez la commande suivante pour reconfigurer exim4:

# sudo dpkg-reconfigure exim4-config

Et répondez aux questions comme suit:

  • Type de configuration: Envoi via relais (« smarthost ») - réception SMTP ou fetchmail
  • Nom de courriel du système: laisser la valeur proposée (nom de votre machine).
  •  Liste d'adresses IP où Exim sera en attente de connexions SMTP entrantes : 127.0.0.1 (pour que votre serveur ne soit pas utilisé par d'autres pc en réseau).
  • Autres destinations dont le courriel doit être accepté: Laisser par défaut.
  • Machines à relayer: Laisser vide.
  • Nom réseau ou adresse IP du système « smarthost »: Pour Gmail mettre: smtp.gmail.com::587 (Attention: le caractère ':' est répété deux fois). Pour un autre fournisseur, mettre l'adresse du serveur SMTP distant et éventuellement un numéro de port.

Les questions restantes n'ont à priori aucun effet, donc laisser les réponses par défaut. Personnellement j'ai:

  • Faut-il cacher le nom local? Non.
  • Faut-il minimiser les requêtes DNS? Non.
  • Méthode de distribution du courrier local: Format "mbox".
  • Faut-il séparer la configuration dans plusieurs fichiers ? Non.

 

3- Editez le fichier /etc/exim4/passwd.client et ajoutez-y la ligne suivante (mettez votre adresse et mot de passe Gmail):

gmail-smtp-msa.l.google.com:votre_adresse@gmail.com:votre_motDePasse

(Notez que le serveur est gmail-smtp-msa.l.google.com et non smtp.gmail.com, car ce dernier n'est en fait qu'un alias alors qu'Exim4 attend le vrai nom de domaine.)

 

Normalement, çà devrait fonctionner avec les changements qu'on a fait, mais l'étape suivante est fortement conséillée si vous ne voulez pas que vos e-mails soient envoyés vers le dossier 'courrier indésirable' de Hotmail ou autre.

 

4- Editez le fichier /etc/email-addresses et ajouter les deux lignes suivantes (mettez votre nom d'utilisateur au lieu de "amine"), pour que les e-mails envoyés avec un compte normal ou avec un compte root soient valides:

amine: votre_adresse@gmail.com
root: votre_adresse@gmail.com

 

5- Voila, il ne vous reste qu'à tester pour voir si çà marche bien. Vous pouvez utiliser la commande 'mail':

# echo -e "Ceci est un test.\n\nCordialement" | mail adresse_destination@serveur.tld -s Test

Remplacez adresse_destination@serveur.tld avec votre adresse de destination.

Vous pouvez voir la sortie de la commande en cas d'erreur en affichant les dernières lignes du fichier /var/log/exim4/mainlog.

 

Lien:

Article similaire sur lequel je me suis basé: http://ohioloco.ubuntuforums.org/showthread.php?t=1078530


Bonjour Un grand merci pour

Bonjour
Un grand merci pour ce tuto claire et précis depuis plusieurs jours que je galère a mettre ça en place.
Cordialement

Bonjour et merci pour cet

Bonjour et merci pour cet article très bien fait.
J'ai juste un petit soucis ...
J'ai un serveur d'hébergement et tous les emails de tous les sites sont envoyés avec le compte google utilisé pour le relai et non le compte de l'expéditeur.
J'envoie en tant que xxx@domaine1.com
L'utilisateur qui fait tourner le site (1 user par site) a bien un alias avec l'email xxx@domaine1.com
mais quand je reçois les messages ils utilisent toujours le compte google comme expéditeur.
Y-a-t-il un moyen de remédier à cela ?

Merci de votre aide.

Bonjour, Effectivement tous

Bonjour,

Effectivement tous les emails vont être envoyés par le compte gmail configuré, c'est l'objectif de cet article.

Pour votre cas, vous souhaitez que les utilisateurs de votre domaine personnel puisse envoyer des emails en usant les serveurs SMTP de google, ce n'est pas possible car ça serait une brèche de sécurité dans le système google car n'importe qui pourrait utiliser ces serveurs pour envoyer n'importe quoi à n'importe qui, c'est ce qu'on appelle un open relay.

Puisque vous avez un serveur d'hébergement, vous avez sûrement une IP fixe, vous pouvez vous faire votre propre serveur mail ou utiliser celui de votre hébergeur si vous êtes en mutualisé.

Merci pour cette réponse

Merci pour cette réponse rapide.

Mon serveur est déjà configuré comme serveur SMTP et je fonctionne comme cela depuis des années.
Je ne suis qu'à moitié d'accord sur l'open relay puisqu'une authentification est nécessaire avec un compte google identifiable qui peut être fermé le cas échéant !

Je cherchait à mettre google comme relay surtout pour envoyer des email depuis un serveur plus connus et ainsi moins être considéré comme spam. Un simple mail de vérification de compte est bloqué chez free pour des raisons parfois floues. A vouloir trop lutter contre le SPAM on fini par bloquer les vrais messages et le nombre de faux positifs devient énorme !

Merci encore pour votre réponse.

merci !

je commencais à m'arracher les cheveux, heuresement vous signalez trés bien ces #¡¡#¡#¡#@ de ":" qui me manquait.

merci encore!!

Ca marche !!!

Merci beaucoup, cet article est très clair et la configuration fonctionne.

Cela fait plusieurs jours que je recherche une information simple sur la configuration d'un relai smtp sur debian et les manuels de sendmail ou postfix s'évertuent à utiliser un langage compliqué. Je pense que certains se plaisent à rendre opaque l'administration des serveurs...

Encore bravo !

Merci de votre retour

Et content que cet article aie pu être utile, et vive debian!!

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Tags HTML autorisés : <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Search Engines will index and follow ONLY links to allowed domains.

Plus d'informations sur les options de formatage

CAPTCHA
Ce test nous sert à éviter le Spam.
Image CAPTCHA
Enter the characters shown in the image.